我正在努力解决这个问题。我有一个元素列表,当某些内容经过验证时,它会在表单的一部分上添加类“checked”到相应的列表项。
<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
EXCEPT title
类。
这可行吗?
演示: http://jsfiddle.net/bQtEQ/1/
感谢您的回答,我现在有了以下内容
var counting = $("li.checked:not(.title)").length;
if (counting == 6){
console.log(counting);
}
最佳答案
这可以通过 1 个简单的选择器实现
$("li.checked:not(.title)").length
这里的优点,除了减少代码之外,是 :not()
选择器在搜索过程中被考虑在内以减少结果集。这意味着 jQuery 实例化 dom 元素的时间更少。这意味着更快的执行时间,尤其是在旧版浏览器上。
关于jQuery 计数类为 "checked"的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11191694/