首先我从某个页面选择div元素,代码如下:
var divs = $('div');
如何从div中选择带有someClass的div。我尝试使用
divs.find('.someClass') or divs.find('div.someClass')
他们两个都行不通。
如果我想完成这项任务,我该怎么办?顺便说一句,我知道我可以使用$('div.someClass')
答案 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')