标题可能令人困惑,反正,基本上让我们说这是我的HTML的样子:
<span></span>
<span></span>
<div class='box'>
<span></span>
<span></span>
<span class='doNotCountThisOne'>
</div>
<span></span>
<span></span>
所以这将返回2.基本上我想检查特定类(本例中为方框)中不包含自己的类的所有<span>
。 (I.E喜欢doNotCountThisOne跨度)
我尝试过类似的事情:
var cAmounts = 0;
var test = $(".box span:not([class]), span[class='']");
test.each(function() {
cAmounts++;
console.log(cAmounts);
}
但它似乎在整个页面上没有类添加所有<span>
。
提前谢谢。
答案 0 :(得分:2)
尝试,
var test = $(".box span:not([class]), .box span[class='']");
您的代码不会给出预期的结果,因为多选择器中的第二个选择器没有任何上下文。这样它就可以搜索整个DOM。
您的代码可以缩短为,
var cAmounts = $(".box span:not([class]").length;
答案 1 :(得分:1)
在$(".box span:not([class]), span[class='']");
中,为什么要添加span[class='']
?
它会在结果中添加一个空类。
删除它,你就会得到你想要的东西:)
$(".box span:not([class])");