2009-11-17 3 views
0

У меня есть следующий пример HTML:Как вернуть элементы innerchild с помощью JavaScript?

<div id="target"> 
<div id="targetText"></div> 
</div> 

Я использую следующий код, чтобы получить внутренний DIV:

$('#targetText'); 

Вместо этого, мне было интересно, если я мог бы упасть идентификатор внутреннего элемент и каким-то образом соответствовать ребенку # цели?

У меня есть сотни внутренних детей, поэтому нет смысла указывать идентификатор каждому из них. Я мог бы просто сделать что-то вроде $ («# target»). InnerChild (5); или что-то. Кто-нибудь знает хороший способ сделать это?

+1

Можете ли вы рассказать нам, какой фреймворк javascript вы используете? –

+0

@ gabriel1836 - +1, это одна из причин, почему я ненавижу функции $. – Quentin

+0

О, извините. Я использую jQuery. – Tower

ответ

3
$("#target > div:eq(0)") //matches the first div child of #target 
$("#target > div:eq(4)") //matches the fifth div child of #target 
+0

Работает отлично. Упоминайте синтаксис? Где это документировано (это jQuery или ECMAScript)? – Tower

+0

@Kaitsuli '>' выбирает только прямые дочерние элементы '# target', а' div 'ограничивает этих детей только выбором div. Наконец, он выбирает первый элемент (индекс на основе нуля) из этого набора результатов с помощью ': eq (0)'. –

+0

@Kaitsuli: Q # 1 Синтаксис уже объяснен dcneiner. Q # 2 Это jQuery и задокументировано в документации jQuery в разделе http://docs.jquery.com/Selectors – jitter

1

Как это:

$('#target > :eq(5)') 

// or 

$('#target').children().eq(5) 
0
#target div 

, если нет других див, что вы не хотите, чтобы соответствовать

#target div:nth-of-type(5) 

будет соответствовать пятому DIV, который является дочерним цель. Но селектор имеет limited browser support.