浏览特定类中的所有跨度,不包含自己的类

时间:2014-07-24 09:47:12

标签: javascript jquery jquery-selectors

标题可能令人困惑,反正,基本上让我们说这是我的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>。 提前谢谢。

2 个答案:

答案 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])");