【问题标题】:JQuery search in array of objectJQuery在对象数组中搜索
【发布时间】:2013-09-03 23:17:12
【问题描述】:

假设我有这个 html:

<ul>
<li class="cls">one</li>
<li class="cls active">tow</li>
<li class="cls">here</li>
<li class="cls">after</li>
</ul>

我通过这个 jquery 选择器选择所有 .cls$('.cls') 并将它们放入一个变量中:

var c=$('.cls');

c 现在是一个对象数组。我想通过 jQuery 方法在这个数组中选择 .active 项目。 我知道我可以使用$('.cls.active'),但这不是我想要的。我想使用c。 有什么解决办法吗?

注意:c.find('.active') 不起作用,因为 .find() 在子项中搜索。

【问题讨论】:

    标签: javascript jquery html dom jquery-selectors


    【解决方案1】:

    使用 .filter()

    c.filter('.active');

    【讨论】:

      【解决方案2】:

      使用filter() 代替find()

      找到:

      获取当前匹配集合中每个元素的后代 元素,由选择器、jQuery 对象或元素过滤。

      过滤器:

      将匹配元素的集合减少为匹配选择器的元素或 通过函数的测试。

      c.filter('.active')
      

      【讨论】:

        【解决方案3】:

        使用.filter()

        c.filter('.active');
        

        【讨论】:

          【解决方案4】:

          只需使用 jQuery 对象的filter() 方法:

          var active = c.filter('.active');
          

          JS Fiddle proof-of-concept.

          参考:

          【讨论】:

            猜你喜欢
            • 2015-05-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-05-21
            • 2011-04-07
            • 2015-09-12
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多