2017-09-14 6 views
1

jQuery DOM Manipulation Documentationによると、htmlの各インデックスの属性 "値"を返そうとしていますが、これを返すために.val()を使用できるはずです。コンソールに印刷すると、空白の値が表示されます。 .html()を使用すると、値が存在することを明確に示すhtmlのセクションを返すことができます。だから、私の質問は:空白を返すjQuery .val()テスト

私はどのように実際の値と空白として値の属性を取得しますか。

Fiddle

Javascriptを

$("table#Table tr").each(function(i) { 
    $("td", this).each(function(j) { 
    var test = $(this).val() 
    console.log("".concat("row: ", i, ", col: ", j, ", value: ", test)); 
    }); 
}); 
+0

'td'は、[値]を持っていません。 –

+3

それは彼をdownvoteの理由はなかった、彼は学ぶためにここにあり、質問は適切だった。 –

答えて

2

値はそれを持っていないのtd要素とTDの有効なプロパティではありませんを参照してください。あなたは、TDで入力要素を検索し、value.somethingこのように取得する必要があります:

$("td input", this).each(function(j) { 
    var test = $(this).val() 
    console.log("".concat("row: ", i, ", col: ", j, ", value: ", test)); 
}); 

Working Demo

+0

偉大な、私はそれを理解していない、まだ要素とそのプロパティについて学ぶ。 –

+0

@TylerCowan:うれしいよ:) –

2

<td>要素が値を持っていません。しかし、彼らの中の入力はします。あなただけではなく、ただ"td"のセレクタとして"td input"を使用する必要があるように見えます:

$("td input", this).each(function(j) { 
    //... 
}); 

Updated fiddle

+0

ここで 'this'は何をするのですか? – mrid

+2

@mrid:セレクタにコンテキストを追加します。したがって、セレクタは '' td input''マッチを探していますが、 'this'の文脈では* only *を探しています。この場合、 'this'は' tr'要素が前の行で反復されることになります。 – David

関連する問題