Как получить дочерний элемент по индексу в jQuery?


<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 58

6 ответов:

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

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

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

 $('.second').children().eq(0);

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

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)

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

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

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

$('.second').find('div:first')

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

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

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

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

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

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

отказ от ответственности: соответствие браузера на getElementsByClassName и firstElementChild шатки. Дом-регулировочные шайбы исправить, хотя эти проблемы.