<ul>
<li class="title">Checklist</li>
<li class="checkType checked">Card Type</li>
<li class="checkNumber checked">Card Number</li>
<li class="checkName checked">Name on Card</li>
<li class="checkMonth checked">Expiry Month</li>
<li class="checkYear checked">Expiry Year</li>
<li class="checkCode checked">Security Code</li>
</ul>
.title{font-size:23px; font-weight:bold;}
.checked{ color:#f00;}
但是我需要jQuery检查每个项目是否有checked
个类title
除外。
这可行吗?
演示: http://jsfiddle.net/bQtEQ/1/
感谢答案,我现在有以下
var counting = $("li.checked:not(.title)").length;
if (counting == 6){
console.log(counting);
}
答案 0 :(得分:10)
这可以通过1个简单的选择器
来实现$("li.checked:not(.title)").length
除了必须减少代码之外,这里的优点是在搜索期间考虑:not()
选择器以减少结果集。这意味着jQuery实例化dom元素的时间更少。这意味着更快的执行时间,尤其是在旧浏览器上。
答案 1 :(得分:8)
这应该为您提供所有<li>
个元素,其中“checked
”类没有类标题:
$('li.checked').not('.title').length
但是 - 如果你只想要检查元素的数量:
$('.checked').length
应该足够了。
答案 2 :(得分:1)
$('.checked').not('.title').length == $("ul li").length -1
答案 3 :(得分:0)
$("li").each(function() {
if( !$(this).hasClass("title") && $(this).hasClass("checked") ) {
alert("hah");
}
});