jQuery:看看选择器匹配了多少个元素?

时间:2010-05-15 01:19:55

标签: javascript jquery jquery-selectors

如果我有一个像

这样的选择器
$.('.active');

如何查看匹配的项目数量?

或者,是否有一种简单的方法可以查看是否匹配了多于零的元素?

4 个答案:

答案 0 :(得分:33)

在返回的集合上调用.length

请勿使用.size,因为:

  

从jQuery 1.8开始,不推荐使用.size()方法

答案 1 :(得分:12)

多少:

var count = $('.active').length;

检查它是否匹配:

if ($('.active').length) // since 0 == false

答案 2 :(得分:3)

您可以使用原生javascript length属性:

alert( $(".active").length );

您甚至可以在条件语句中直接使用.length返回值:

if( $(".active").length ) {
  alert("Found some");  
} else {
  alert("Found nothing"); 
}​

在此示例中,如果找到0结果,则将执行else语句。

示例:http://jsbin.com/upabu/edit

答案 3 :(得分:2)

您应该使用$('.class').length,因为它更快,但您也可以调用$('.class').size()并获得相同的结果。

要检查元素,请执行以下操作:

var len = $('.class').length;
if (len)
    // do something
else
    // do something else

在本地var中缓存长度是一种优化,如果你必须再次调用该长度属性,它将加速你的JS。