Как получить дочерний элемент по индексу в Jquery? - PullRequest
66 голосов
/ 19 января 2012
<div class="second">
    <div class="selector" id="selFirst"></div>
    <div class="selector" id="selSecond"></div>
    <div></div>
</div>

Как получить #selFirst, используя индекс элемента, а не идентификатор?

это:

var $selFirst = $(".second:nth-child(1)");
console.log($selFirst);

возвращается:

jQuery(div.second)

Ответы [ 6 ]

175 голосов
/ 19 января 2012

Если вы знаете, что интересующий вас дочерний элемент является первым:

 $('.second').children().first();

Или найти по индексу:

 var index = 0
 $('.second').children().eq(index);
14 голосов
/ 14 декабря 2015

Существует следующий способ выбора первого ребенка

1) $('.second div:first-child')
2) $('.second *:first-child')
3) $('div:first-child', '.second')
4) $('*:first-child', '.second')
5) $('.second div:nth-child(1)')
6) $('.second').children().first()
7) $('.second').children().eq(0)
3 голосов
/ 19 января 2012

Первый элемент можно получить с помощью селектора индекса:

$('div.second div:eq(0)')

Код: http://jsfiddle.net/RX46D/

2 голосов
/ 19 января 2012
$('.second').find('div:first')
1 голос
/ 10 декабря 2014

Разве nth-child не возвращает братьев и сестер, а не детей?

var $selFirst = $(".second:nth-child(1)");

вернет первый элемент с классом .second.

var $selFirst = $(".selector:nth-child(1)");

должен дать вампервый брат класса .selector

0 голосов
/ 19 января 2012

var node = document.getElementsByClassName("second")[0].firstElementChild

Отказ от ответственности: Соответствие браузера на getElementsByClassName и firstElementChild шатко. Хотя DOM-прокладки решают эти проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...