Селектор jQuery внутри метода each () - PullRequest
8 голосов
/ 07 декабря 2010

Допустим, у меня есть 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') я могу выбрать все элементы диапазона.
С $('.aaa').each() я могу перебирать элементы div.
Мой вопрос заключается в том, как выбрать диапазон в каждом div внутри каждой функции, например:

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

Ответы [ 5 ]

14 голосов
/ 07 декабря 2010

проще всего, если вы хотите все элементы

$('.aaa span');

jquery может вкладывать селекторы так же, как и css. также, если по какой-то причине вам необходимо выполнить цикл

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

, который установит x как элементы как объект jquery.

3 голосов
/ 07 декабря 2010
$('.aaa').each(function() {
  var x = $('span', this);
});
3 голосов
/ 07 декабря 2010

$(obj).find('span') должен сделать свое дело.

0 голосов
/ 07 декабря 2010

Если это фактическая разметка, вы можете легко использовать нативное свойство firstChild.

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

Это широко поддерживаемое свойство.

0 голосов
/ 07 декабря 2010
$('.aaa').each(function(index, obj){
    var x = $(this).find('span');
    $(x).doSomething();
})

или более прграматически:

$('.aaa').each(function(index, obj){
    $(this).find('span').doSomething();
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...