如何使用jquery基于先前的选择器选择元素

时间:2012-07-24 12:31:36

标签: jquery

  

可能重复:
  Jquery: Selection within a selection

首先我从某个页面选择div元素,代码如下:

var divs = $('div');

如何从div中选择带有someClass的div。我尝试使用

divs.find('.someClass') or divs.find('div.someClass')

他们两个都行不通。

如果我想完成这项任务,我该怎么办?顺便说一句,我知道我可以使用 $('div.someClass')

3 个答案:

答案 0 :(得分:7)

您可以使用.filter()方法:

var someClassDivs = divs.filter('.someClass');

这会将匹配的元素集合减少到与选择器匹配的元素集合(换句话说,那些具有" someClass"类名称的元素)。

您当前使用.find()的尝试无效,因为它会查看后代元素。您正在尝试减少匹配集,其中包含(有效)兄弟姐妹。

答案 1 :(得分:0)

使用文件管理器功能

   var divs = $('div');
    divs.filter(function(){
    return $(this).hasClass("some_class");
                           })

答案 2 :(得分:0)

你有没有理由不首先使用$('div.someClass')?你需要一个所有div的数组吗?首先选择所有div然后过滤数组比使用类名作为选择器使用更多的操作,并且可能会更慢。

我的建议是:

var divs = $('div.someClass')