2016-08-12 13 views
1
var row="<tr><td>"+segmentData.segmentName+"</td>" + 
      "<td></td>"+ 
      "<td>"+segmentData.transTimelyTotal+"</td>"+ 
      "<td></td>"+ 
      "<td>"+segmentData.transUntimelyTotal+"</td>"+ 
      "<td></td>"+ 
      "<td>"+segmentData.transAmtTimelyTotal+"</td>"+ 
      "<td></td>"+ 
      "<td>"+segmentData.transAmtUntimelyTotal+"</td>"+ 
      "</tr>"; 
     var $row=$(row) 

     var td = $("tr:nth-child(2)", $row); 

私は上記のhtml行をjavascriptで記述していますが、そこから3番目のtd要素を取得しようとしていますが、期待通りに動作していないようです。jquery trセレクタが動作しない

私は未定義のオブジェクトを取得しています。あなたは以下の結果を見ることができます。

位置2でTD要素を取得する方法はありますか?

[prevObject: m.fn.init[1], context: undefined, selector: "tr:even"] 
+1

'$のrow.findのための仕様を参照してください

"td:eq(2)" 

nth-childhere

のための仕様を参照してください:ここでは、使用すべきものです; 'これを試してください – guradio

+0

$ row.find(" td:eq(2) ")これはあなたのために働くことを期待:) –

答えて

1

あなたはnth-childセレクタを間違った方法で使用しています。 tr:nth-childtrの子を返しませんが、それぞれの親のn番目の子であるtrの要素を返します。優れたHTML慣行がtr要素が唯一の子としてtd要素を含まなければならないことを意味するものであるため あなたのセレクタがどうあるべきか

"tr td:nth-child(2)" 

しかし、このセレクタは十分だろう。

"td:nth-child(2)" 

あなたの質問に戻って、 第2tdのセレクタに尋ねましたが、2nthtdではありませんでした。したがって、上記セレクタのどれも正しいわけではありません。 ( "TD:n番目の子(2)")eqhere

0

$ row.find( "td:nth-​​child(2)");

関連する問題