我一直在尝试计算嵌套tbody中tr的总数,但我无法获得总数。我试图使用以下jQuery代码来获取它,但它返回了一个很大的数字,如44行,因为我期望它返回7行。
你能否告诉我哪里出错了?
var count = $("#rbe_viewTab0 table tbody tr td table tbody tr").length;
alert(count);
<div id="rbe_viewTab0" class="nothing" style="display:block;margin-top:0px" isloaded="Y">
<table class="wide" cellspacing="0" cellpadding="10" border="0">
<tbody>
<tr>
<td>
<table class="wide" cellspacing="0" cellpadding="10" border="0">
<tbody>
<tr></tr>
<tr>
<td id="xyz">Row 2</td>
</tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr></tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
我希望它为行总数返回7行,并为行2返回索引。
答案 0 :(得分:1)
尝试
var count = $("#rbe_viewTab0 > table > tbody > tr > td > table > tbody > tr").length;
alert(count);
答案 1 :(得分:1)
我认为你的选择器可能是错的。这是一个片段。
var count = $("#rbe_viewTab0 > tbody > tr > td > table.wide > tbody > tr").length;
var index = $("#rbe_viewTab0 > tbody > tr > td > table.wide > tbody > tr > td#xyz").parent().index();
alert(count);
alert(index);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table id="rbe_viewTab0">
<tr>
<td>
<table class="wide">
<tr>
<td>Row 1</td>
</tr>
<tr>
<td id="xyz">Row 2</td>
</tr>
<tr>
<td>Row 3</td>
</tr>
<tr>
<td>Row 4</td>
</tr>
<tr>
<td>Row 5</td>
</tr>
<tr>
<td>Row 6</td>
</tr>
</table>
</td>
</tr>
</table>
修改强> 这是索引的选择器。还更新了我的代码段。
var index = $("#rbe_viewTab0 > tbody > tr > td > table.wide > tbody > tr > td#xyz").parent().index();
答案 2 :(得分:0)
$('tbody tbody tr').length
会这样做。
e.g。 http://jsbin.com/bacosijina/1/edit?html,output
修改:现在,您已更新了问题:
$('table table tr').length
会这样做。即表中包含的行
修改编辑:好的,问题中的标记再次发生了变化。也许你想和$('#rbe_viewTab0 tbody tbody tr').length