2010-03-08 3 views
10

Как получить первый дочерний идентификатор внутри div с помощью JQuery.Как получить первый дочерний идентификатор внутри div с помощью JQuery

Пример кода:

<div id='id1'> 
    <a id='a1' /> 
    <a id='a2' /> 
    <a id='a3' /> 
</div> 

Я хочу, чтобы получить идентификатор a1.

Я пробовал $('#id1 a:first-child').html(), чтобы получить текст. Как получить идентификатор?

ответ

20
$("#id1:first-child").attr("id") 
+1

'.attr ('id')' получит идентификатор –

+0

Вы поймали меня в середине редактирования. +1 –

+1

вы поймали меня в середине редактирования: P –

13
$('#id1 a:first-child').attr('id') 
+0

Он хочет идентификатор первого якоря (a1). Это дало бы ему первого ребенка первого якоря. Это будет (a2). –

+0

по какой-то причине ваш код не будет работать со мной. Я всегда не определился. и кусок кода, который я wrot дает мне первый id (a1), а не a2. если я прочитаю это: http://api.jquery.com/first-child-selector/ Я предполагаю, что мой код будет искать в первом «» в div «id1» ... исправьте меня, если я неправильно .. bruno – bruno

1
$('#id1:first-child').attr('id') 
+0

См. мой ответ на комментарий @ bruno. То же самое. –

3

Если вы хотите сразу же первого ребенка вам нужно

$(element).first(); 

Если вы хотите конкретный первый элемент в DOM из вашего элемента затем используйте ниже

var spanElement = $(elementId).find(".redClass :first"); 
$(spanElement).addClass("yourClassHere"); 

опрос: http://jsfiddle.net/vgGbc/2/

12

Используйте это, чтобы получить первый элемент id1 элемента:

$("#id1").children(":first"); 
1

Чтобы сделать вещи супер ясно, это то, что нужно сделать для того, чтобы найти какой-либо элемент в пределах определенного элемента, который вы уже можете получить доступ, в этом случае, является элемент с 'e1' ID =:

<style> 
    .c1{ border:2px solid red; padding: 12px; background: lightyellow } 
    .c2{ border:2px solid green; padding: 12px; background: lightyellow } 
    .c3{ border:2px solid blue; padding: 12px; background: lightyellow } 
</style> 

<div class='c1' id='e1'> 
    <div class='c2' id='e2'> 
    <div class='c3' id='e3'>text</div> 
    </div> 
</div> 

следующая строка получить ты Диво e2:

var child2 = $('#e1').find(".c2"); 

Фолля вследствие линии как получить вам Диво e3:

var child3 = $('#e1').find(".c3"); 
var child3_1 = $('#e1').find(".c2 :first"); 

Чтобы изменить что-то о них, вы должны использовать объекты, как это:

$(child2).css('background-color','white'); 
$(child3).css('border','4px dotted pink'); 
$(child3_1).css('color','#ef2323'); 

Я надеюсь, что это понятно и полезно.

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