表长度上的jQuery计数返回的值不正确

表长度上的jQuery计数返回的值不正确,jquery,html-table,Jquery,Html Table,我正在尝试计算表中的行数。当我通过控制台进行测试时,我得到以下结果: $("#rule_summary").html(); " <thead> <tr> <th><b>Actions</b></th><th><b>Contact Type</b></th><th><b>Contact

我正在尝试计算表中的行数。当我通过控制台进行测试时,我得到以下结果:

$("#rule_summary").html();
"
        <thead>
            <tr>
                <th><b>Actions</b></th><th><b>Contact Type</b></th><th><b>Contact Number</b></th><th><b>Call Order</b></th><th><b>Text</b></th>
            </tr>
        </thead>
    <tbody>

        <tr>
        <td> 
         <a href="" class="delete">Delete</a>        
        </td>
        <td> Home Number</td>
        <td> 4442</td>
        <td> 1</td>     
        <td> no </td>           
    </tr>
        <tr>
        <td> 
         <a href="" class="delete">Delete</a>        
        </td>
        <td> M Number</td>
        <td> 28507</td>
        <td> 2</td>     
        <td> yes </td>          
    </tr>
        </tbody>

"
我一直在检查代码,以确保我的表格式正确。。。我看不出有什么问题。。但也许另一双眼睛会发现一些东西。 有什么建议吗

试试这个

$("#rule_summary tr").length
请记住,这将包括表标题行。 在这里演奏小提琴:
没有什么不对的。您将得到一个
1
,因为只有一个元素id为
#rule_summary

如果要计算行数(
tr
),您应该:

  • 选择所有行
  • 计算选定元素的数量
为此,您可以:

$('#rule_summary').find('tr').length
你应该使用

$("#rule_summary tr").length
如果要计算包括标题行在内的所有行

如果只需要数据行(无标题),也可以使用此选项


在这种情况下,请始终使用
查找
而不是复杂选择器。就性能而言,它要快得多。
$("#rule_summary tr").length
$("#rule_summary tbody tr").length