我需要遍历我的元素并计算其中有多少个具有空data-v属性的元素:
<div data-v="" style="height: 0px"></div>
我尝试过的这似乎不起作用:
$(".myEm").each(function() {
var cnt = $(this).find("div[data-v!='']").length;
});
我想念什么?
答案 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>
因此,您需要修改代码或标记以适合您的情况,以获得所需的结果。