ネストされた表関数をセットアップしようとしています。そのため、関数内で選択した要素を渡しています。ネストされたテーブルの/要素ではなく、そのテーブルの子/直系の子孫td
/のみを選択したいと考えています。ここに私がセットアップした小さな例があります。tr
td
tr
<table class="top">
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>
<table class="nested">
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>4</td>
</tr>
</table>
</td>
</tr>
</table>
<div id="results"></div>
そしてそれに付随するjQuery/Javascript...
var tbl = $(".top");
var r = $("div#results");
$(r).html("");
$(r).append("var tbl = $(\".top\")</br>")
$(r).append("$(tbl).find(\"td\").length:" + $(tbl).find("td").length.toString() + "</br>");
$(r).append("$(\"td\", tbl).length: " + $("td", tbl).length.toString() + "</br>");
$(r).append("$(tbl).children(\"tbody\").children(\"tr\").children(\"td\").length: " + $(tbl).children("tbody").children("tr").children("td").length.toString() + "</br>");
結果は次のとおりです...
var tbl = $(".top") (渡されたセレクターをシミュレートするため)
$(tbl).find("td").length:12 (すべての td 要素を選択)
$("td", tbl).length: 12 (上記と同じように、すべての td 要素を選択します)
$(tbl).children("tbody").children("tr").children("td").length: 6 (適切な要素を選択しますが、jQuery チェーンが長すぎて、やりたいことに対して厳密に見えます) )
最上位テーブルの子要素の適切なセレクターを見つけるための助けは大歓迎です! ありがとう!
更新: ここにjsFiddleがあります。