jQuery / CSS:计算具有某些类的元素,但没有一个特定的类

时间:2015-11-10 12:00:44

标签: jquery css

我有标签,它有类状态标签和不可用。 我想要计算所有包含它的人,并排除那些也有名为" hide"

的类
<label class="status-label unavailable"> should be selected
while
<label class="status-label unavailable hide"> shouldn't

我试图像这样计算结果:

var invalidConfigs=$("label.status-label.unavailable").not(".hide").length;

这也不起作用:

var invalidConfigs=$("label.status-label.unavailable:not(.hide)).length;

2 个答案:

答案 0 :(得分:1)

var invalidConfigs = $("label.status-label.unavailable:not(.hide)")
   .css("color", "red") // just for demo purposes
   .length;
console.log(invalidConfigs);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="status-label unavailable"> should be selected</label>
<label class="status-label unavailable hide"> shouldn't</label>

您在选择器中缺少结束语。

.css("color", "red")仅用于演示,以便在视觉上明显选择了哪个元素。

答案 1 :(得分:1)

这个怎么样:

var hideClassLabels=$('label.hide');
var notHideLabels=$('label.status-label').not(hideClassLabels);
console.log(notHideLabels.length);

希望这有帮助