Подтвердить что ты не робот

Есть ли способ объединить $(this) с: nth-child?

Я нахожусь в середине итерации .each и хотел вызвать 2-го или 3-го ребенка для каждого... но не могу заставить его работать.

alert($(this + ' :nth-child(2)').attr('id'));

Мой единственный вариант, о котором я могу думать, - это что-то ужасное, как это:

 $(this).children(':first').next().attr('id', 'ddParam' + newCount);
 $(this).children(':first').next().next().attr('id', 'txt' + newCount);
 $(this).children(':first').next().next().next().attr('id'...
4b9b3361

Ответ 1

Вам нужно context. С контекстом селектор будет искать только элементы, являющиеся дочерними элементами контекста (в данном случае this).

$(':nth-child(2)', this).attr('id');

jsFiddle Demo

Это в основном то же самое, что:

$(this).find(':nth-child(2)').attr('id');

Если вам нужны только прямые дети, а не каждый потомок, вы должны использовать .children():

$(this).children(':nth-child(2)').attr('id');