可能重复:
Jquery:选择中的选择
首先我从某个页面中选择 div 元素,代码如下:
var divs = $('div');
如何从 div 中选择带有 someClass 的 div。我尝试使用
divs.find('.someClass') or divs.find('div.someClass')
他们两个都不能工作。
如果我想完成这个任务,我应该怎么做?顺便说一句,我知道我可以使用
$('div.someClass')
可能重复:
Jquery:选择中的选择
首先我从某个页面中选择 div 元素,代码如下:
var divs = $('div');
如何从 div 中选择带有 someClass 的 div。我尝试使用
divs.find('.someClass') or divs.find('div.someClass')
他们两个都不能工作。
如果我想完成这个任务,我应该怎么做?顺便说一句,我知道我可以使用
$('div.someClass')
您可以使用以下.filter()
方法:
var someClassDivs = divs.filter('.someClass');
这会将匹配的元素集减少为匹配选择器的元素(换句话说,那些具有“someClass”类名的元素)。
您当前的尝试.find()
不起作用,因为它查看后代元素。您正在尝试减少由(有效)兄弟姐妹组成的匹配集。
使用过滤器功能
var divs = $('div');
divs.filter(function(){
return $(this).hasClass("some_class");
})
你一开始不使用有什么原因$('div.someClass')
吗?你需要一个包含所有 div 的数组来做其他事情吗?首先选择所有 div,然后过滤数组使用比简单地使用类名作为选择器更多的操作,并且可能会更慢。
我的建议是:
var divs = $('div.someClass')