Jquery:选择器中的子选择器

3
我有一个存储前面选择的不同元素的数组,称之为“a”。
接着,我该如何从先前选择的这个集合(a)中再次进行选择,只返回类型为input的元素?
3个回答

6
a.filter('input').each(function() {
    alert('My name is ' + $(this).attr('name'));
});

要从当前选择中只获取一个选项,请按照以下方式操作:

var $inputs = a.filter('input');

你甚至可以用逗号分隔选择器:
var $els = a.filter('input, .fooMonger, #something');

See http://docs.jquery.com/Traversing/filter


2
$('input', a);

这将在a的后代中搜索输入标签,并且它有效。 - RaYell
我认为这是$('input', 'a'); - rball
不是这样的。正如问题中所述,a是一个jQuery对象。 - RaYell

0
$(a).find("input")

如果 a 来自先前的 jQuery 选择,则无需将其包装在 $() 中。 - RaYell
find 方法无法工作,因为它搜索的是后代元素,而这些都是一级元素。 - maxp
我开始使用过滤函数回答,但后来进行了编辑和更改,改为使用查找功能,因为您的问题不够清晰。 - Josh Stodola

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接