each()方法中的jQuery选择器

时间:2010-12-07 20:27:18

标签: jquery jquery-selectors

假设我有一个看起来像这样的HTML:

<div class="aaa"><span>1</span></div>
<div class="aaa"><span>2</span></div>
<div class="aaa"><span>3</span></div>
<div class="aaa"><span>4</span></div>

使用$('.aaa span')我可以选择所有的span元素 使用$('.aaa').each(),我可以迭代div元素 我的问题是如何从每个函数内部选择​​每个div中的跨度,如:

$('.aaa').each(function(index, obj){
    x = selector_based_on_obj // x equal to the current div`s span
})

5 个答案:

答案 0 :(得分:14)

最简单的方法是,如果你想要所有的元素

$('.aaa span');

jquery可以像css一样嵌套选择器。另外,如果由于某种原因你需要循环

$('.aaa').each(function(){
    x = $(this).find('span');
});

将x设置为jquery对象的元素。

答案 1 :(得分:3)

$(obj).find('span')应该可以解决问题。

答案 2 :(得分:3)

$('.aaa').each(function() {
  var x = $('span', this);
});

答案 3 :(得分:0)

$('.aaa').each(function(index, obj){
    var x = $(this).find('span');
    $(x).doSomething();
})

或更多编程:

$('.aaa').each(function(index, obj){
    $(this).find('span').doSomething();
})

答案 4 :(得分:0)

如果这是您的实际标记,您可以轻松使用native property firstChild

$('.aaa').each(function(){
    var x = this.firstChild
});

这是widely supported属性。