用jquery计算空的或不空的TD

时间:2015-04-09 14:54:29

标签: javascript jquery html

通常inputtextarea可以通过其选择器和长度进行检查和计数。

e.g。计算空输入和textareas:

$('input[value=""]').length;

$('textarea[value=""]').length;

如何使用表格来完成这项工作?

<table>
    <tr>
        <td>aaa</td>
        <td></td>
        <td></td>
        <td>aaa</td>
    </tr>
</table>

计数应为2.我知道我可以使用$.each(...),但我会优先考虑一个简单的$(selector).length解决方案。

编辑:纠正了一下这个话题,让这个小小的混乱消失了,对不起! :D

3 个答案:

答案 0 :(得分:8)

您可以使用:empty选择器:

&#13;
&#13;
console.log($('table td:empty').length);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td>aaa</td>
    <td></td>
    <td></td>
    <td>aaa</td>
  </tr>
</table>
&#13;
&#13;
&#13;

正如@Pointy所提到的,如果您想要选择具有某些内容的:not()元素,则可以使用td来反转行为:

$('table td:not(:empty)').length

答案 1 :(得分:2)

您可以使用:empty伪选择器来检查DOM元素是否包含数据。

$("td:empty").length

这将为您提供空的td计数

如果你想计算非空的td元素,那么:

$("td:not(:empty)").length

答案 2 :(得分:2)

尝试这个

 $('td:not(empty)')