2012-01-19 2 views

ответ

145

Если вы KNO ж дочернего элемента вы заинтересованы в это первая:

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

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

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

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

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

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

+1

Показатели селекторов плохие. Используйте методы вместо этого, они быстрее – Raynos

-7

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

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

+0

Имейте в виду, что если OP ищет первый DIV, это не сработает, если есть какие-либо HTML-элементы между .second и #selFirst. – Magrangs

+0

Где он сказал «первый DIV». Где он сказал «будут элементы между .second и #selFirst» – Raynos

+2

Я сказал «ЕСЛИ OP .....» – Magrangs

1

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

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

вернет первый элемент с классом «. Секунд».

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

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

11

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

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)
+1

Хотелось бы узнать сравнение производительности. – GollyJer

+0

Чем больше вариантов вы предоставляете, тем больше вы получите! –

Смежные вопросы