计数具有空属性的元素
Count elements with empty attribute
我需要遍历我的元素并计算其中有多少具有空 data-v 属性:
<div data-v="" style="height: 0px"></div>
我试过这个好像不行:
$(".myEm").each(function() {
var cnt = $(this).find("div[data-v!='']").length;
});
我错过了什么?
您的选择器正在寻找不具有空属性的元素。这是一个演示,展示了每种类型的一些,一个查询使用 "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>
因此您需要根据自己的需要修改代码或标记,以获得预期的结果。
我需要遍历我的元素并计算其中有多少具有空 data-v 属性:
<div data-v="" style="height: 0px"></div>
我试过这个好像不行:
$(".myEm").each(function() {
var cnt = $(this).find("div[data-v!='']").length;
});
我错过了什么?
您的选择器正在寻找不具有空属性的元素。这是一个演示,展示了每种类型的一些,一个查询使用 "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>
因此您需要根据自己的需要修改代码或标记,以获得预期的结果。