使用jQuery计算td(表格)的数量?

4
<table>
<tbody>
<tr class="row-1 row-first">
<td><div class="inside">Text</div></td>
<td><div class="inside">Text</div></td>
<td><div class="inside">Text</div></td>
</tr>
<tr class="row-2">
<td><div class="inside"></div></td>
<td><div class="inside">Text</div></td>
<td><div class="inside">Text</div></td>
</tr>
<tr class="row-3 row-last">
<td><div class="inside"></div></td>
<td><div class="inside">Text</div></td>
<td><div class="inside">Text</div></td>
</tr>
</tbody>
</table>

那是我的HTML代码.. 我想知道在jQuery中没有空的div(class="inside")的td数量?我该怎么做?
3个回答

10

使用类似以下代码,包括 hasnotempty 选择器:

$('td:not(:has(div.inside:empty))').length;

在 HTML 中的表格出现之前,我有一条很长的选择器行。类 -> .page-community-members .views-view-grid.grid-8... 我应该像这样将其包含在选择器中吗? $('.page-community-members .views-view-grid.grid-8 td:not(:has(div.inside:empty))').length; - Pack Hack
我可以这样使用吗?$('.page-community-members .views-view-grid.grid-8 td:not(:has(div.inside:empty))').length; - Pack Hack

4

-1,虽然这个选择器更短,但它完全省略了类选择器,并且会选中<div>而不是<td>。在实际应用中,表格单元格内可能有多个元素,你永远不知道。 - DarthJDG
抱歉,完全错过了这个课。现在添加了它,但仍然比另一个解决方案少1个选择器。 - GeertvdC
如果在 div 中存在例如 brimg 元素,由于它们本质上是空的,因此这将会出现错误。 - lonesomeday

0
$('td div.inside').filter(function(idx){
    return $(this).text() != ""
 }).length;

演示


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接