我有以下表结构。
<table id='mytable'>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>
<table>
<tr><td>A</td></tr>
<tr><td>B</td></tr>
<tr><td>C</td></tr>
</table>
</td></tr>
</table>
我想要做的是刚刚从mytable
得到直接TR
要素是什么。显然,有4个直接TR
的mytable
。
下面显示了三条语句。我预计他们会返回相同的结果。然而他们不要。
var mytable$ = $("#mytable");
var trcount1 = mytable$.children("tbody").children().length; // trcount1 = 4
var trcount2 = mytable$.children("tbody > tr").length; // trcount2 = 0
var trcount3 = $("tbody > tr", mytable$).length; // trcount3 = 7
只有得到trcount1
的语法是我想要的。
为什么trcount2
和trcount3
不是4?
感谢
亚历
===================================
谢谢jfriend00的回复。
这就是我想要的。
$("> tbody > tr", mytable$).length; // 4
mytable$.find("> tbody > tr").length; // 4
我错过了“>”之前tbody
。
'$('tbody> tr',mytable $)'相当于'mytable $ .find('tbody> tr');' – zzzzBov
所以你后悔嵌套表? ':)' –
感谢您为jQuery对象显示可变的命名礼仪。 var myobject $ = $('#myobjectid'); –