jquery选择器匹配所有元素?

时间:2013-10-03 10:41:41

标签: jquery

我知道如果我有这个HTML:

<ul>
  <li class="list-item test">1</li>
  <li class="list-item">2</li>
  <li class="list-item">3</li>
</ul>

然后我可以在jQuery中执行以下操作:

$('ul > li').is('.test');

它将返回true,因为其中一个LI具有类测试。我想要的是一个方法,只有当所有元素都匹配选择器时才返回true:

$('ul > li').all('.test'); // false;
$('ul > li').all('.list-item'); // true

这样的事情存在吗?

谢谢,

1 个答案:

答案 0 :(得分:5)

应该这样做......

var allTest = $("ul > li.test").length === $("ul > li").length;

...或

var allTest = $("ul > li:not(.test)").length === 0;

第一个检查是否具有类test的li元素的数量与li元素的数量相同(不管是哪个类)。

第二个只检查有多少人没有班级考试。