计算具有空属性的元素

时间:2018-11-15 16:30:52

标签: jquery jquery-selectors

我需要遍历我的元素并计算其中有多少个具有空data-v属性的元素:

<div data-v="" style="height: 0px"></div>

我尝试过的这似乎不起作用:

$(".myEm").each(function() {
    var cnt = $(this).find("div[data-v!='']").length;
});

我想念什么?

1 个答案:

答案 0 :(得分:1)

您的选择器正在寻找没有具有空属性的元素。这是一个演示,展示了每种类型的一些示例,以及一个使用“ not”(!)的选择器查询和一个不带选择器的查询,并得出结果:

$(function() {
  $(".myEm").each(function() {
    var cnt = $(this).find("div[data-v!='']").length;
    console.log(cnt);
    var cnt2 = $(this).find("div[data-v='']").length;
    console.log(cnt2);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="myEm">
  <div data-v="" style="height: 0px "></div>
  <div data-v="" style="height: 0px "></div>
  <div data-v=" " style="height: 0px "></div>
  <div data-v=" " style="height: 0px "></div>
  <div data-v=" " style="height: 0px "></div>
</div>

因此,您需要修改代码或标记以适合您的情况,以获得所需的结果。