2010-03-08 10 views
10

Wie bekomme ich die erste Kind-ID innerhalb der div mit JQuery.Wie bekomme ich die erste Kind-ID innerhalb der div mit JQuery

Beispielcode:

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

Ich möchte a1 die ID zu bekommen.

Ich habe versucht $('#id1 a:first-child').html(), um den Text zu bekommen. Wie bekomme ich die ID?

Antwort

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

'.attr ('id')' wird die ID bekommen –

+0

Sie haben mich mitten in der Bearbeitung gefangen. +1 –

+1

Sie haben mich in der Mitte der Bearbeitung gefangen: P –

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

Er möchte die ID des ersten Ankers (a1). Dies würde ihm das erste Kind des ersten Ankers geben. Es wäre (a2). –

+0

aus irgendeinem Grund wird Ihr Code nicht mit mir arbeiten. Ich werde immer undefiniert. und das Stück Code, dass ich mir die erste ID (a1) und nicht a2 gibt. Wenn ich das lese: http://api.jquery.com/first-child-selector/ Ich nehme an, dass mein Code nach dem ersten "" im div "id1" sucht ... korrigiere mich wenn ich bin falsch .. bruno – bruno

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

Siehe meine Antwort auf @ bruno's Kommentar. Gleiche Sache. –

3

Wenn Sie sofort erstes Kind wollen, müssen Sie

$(element).first(); 

Wenn Sie bestimmte erste Element in der dom von Ihrem Element dann unten verwenden möchten

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

ausprobieren: http://jsfiddle.net/vgGbc/2/

12

Verwenden Sie dieses erstes Element id1 Element zu erhalten:

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

Um die Dinge Super klar zu machen, ist das, was zu tun, um jedes Element innerhalb eines bestimmten Elements zu finden, die Sie bereits in diesem Fall zugreifen, die ist das Element mit 'e1' id =:

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

die folg:

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

die folgende Zeile Sie div e2 erhalten ist aufgrund Linien beide bekommen Sie div e3:

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

Um etwas über diese zu ändern, müssen Sie die Objekte wie folgt verwenden:

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

Ich hoffe, das klar und hilfreich ist.

Verwandte Themen