【问题标题】:Count of td (table) using jQuery?使用jQuery的td(表)计数?
【发布时间】:2011-06-09 17:11:02
【问题描述】:
<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 的计数?我该怎么办?

【问题讨论】:

    标签: jquery html jquery-selectors


    【解决方案1】:

    类似这样的东西,使用 hasnotempty 选择器:

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

    【讨论】:

    • 在表格进入 html 之前,我有一个很大的选择器行。 classes -> .page-community-members .views-view-grid.grid-8... 我应该像这样将它包含在选择器中吗? $('.page-community-members .views-view-grid.grid-8 td:not(:has(div.inside:empty))').length;
    • 我可以这样用吗? $('.page-community-members .views-view-grid.grid-8 td:not(:has(div.inside:empty))').length;
    【解决方案2】:

    制作了一个较短的版本:

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

    此处的示例:http://jsfiddle.net/j7ucY/1/

    【讨论】:

    • -1,它更短,但它完全省略了类选择器,它将选择&lt;div&gt;s,而不是&lt;td&gt;s。你永远不知道,在实际应用中,表格单元格内可能会有多个元素。
    • 抱歉,完全错过了课程。现在添加它,它仍然比其他解决方案短 1 个选择器。
    • 如果 div 中有 brimg 元素,这将中断,因为它们本质上是空的。
    【解决方案3】:
    $('td div.inside').filter(function(idx){
        return $(this).text() != ""
     }).length;
    

    demo

    【讨论】:

      猜你喜欢
      • 2011-06-11
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 2017-02-23
      • 2011-04-25
      • 1970-01-01
      • 2017-02-21
      • 1970-01-01
      相关资源
      最近更新 更多