【问题标题】:jQuery: See how many elements a selector matched?jQuery:看看一个选择器匹配了多少个元素?
【发布时间】:2016-07-04 04:20:40
【问题描述】:

如果我有像

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

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

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

【问题讨论】:

    标签: javascript jquery jquery-selectors


    【解决方案1】:

    在返回的集合上调用.length

    不要使用.size,因为:

    .size() 方法从 jQuery 1.8 开始被弃用

    【讨论】:

      【解决方案2】:

      多少:

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

      检查是否匹配:

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

      【讨论】:

        【解决方案3】:

        你可以使用原生javascriptlength属性:

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

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

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

        在本例中,如果找到 0 个结果,则执行 else 语句。

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

        【讨论】:

          【解决方案4】:

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

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

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

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

          【讨论】:

          • .size() 已被贬低!不要建议
          猜你喜欢
          • 1970-01-01
          • 2014-11-26
          • 1970-01-01
          • 2015-09-12
          • 2023-03-26
          • 1970-01-01
          • 2017-05-06
          • 1970-01-01
          • 2013-02-24
          相关资源
          最近更新 更多