在搜索特定元素时如何让直系孩子?例如,我想获取表tr
的{{1}}元素。
t1
我试过了:
<table id="t1" bgcolor="yellow">
<tbody>
<tr>
<td>This is Cell 1</td>
<td>This is Cell 2</td>
</tr>
<tr>
<td>This is Cell 3</td>
<td>
<table id="t2" bgcolor="red">
<tbody>
<tr>
<td>This is Cell 1</td>
<td>This is Cell 2</td>
</tr>
<tr>
<td>This is Cell 3</td>
<td>This is Cell 4</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
但是,我得到4分,我不明白为什么?
Here就是一个完整的例子:
答案 0 :(得分:5)
使用:
'Count = ' + $('#t1 > tbody').children('tr').length;
// or: $("#t1 > tbody > tr").length
// or: $("#t1")[0].rows.length; // In this case, equal to previous code.
// Warning: This also includes the rows from
// the <thead> and <tfoot> sections.
您当前的代码显示4,因为表<tbody>
中有两个#t1
元素:
<table id="t1" bgcolor="yellow"> <-- #t1
<tbody> <--- tbody
<tr> ... </tr> <----- Child 1
<tr> ... <----- Child 2
<tbody> <--- tbody (unexpected?)
<tr> ... </tr> <----- Child 3
<tr> ... </tr> <----- Child 4
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
答案 1 :(得分:1)
这是因为$('#t1 tbody')
可以从两个表中获得tbody
您可以直接使用Child Selector (“parent > child”)
docs
$('#t1 > tbody > tr').length;
以下是您更新的示例:http://jsfiddle.net/SvygZ/1/