2010-03-08 15 views

risposta

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

'.attr ('id')' otterrà l'id –

+0

Mi hai catturato a metà modifica. +1 –

+1

mi hai catturato a metà modifica: P –

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

Vuole l'ID della prima ancora (a1). Questo gli darebbe il primo figlio della prima ancora. Sarebbe (a2). –

+0

per qualche motivo, il tuo codice non funzionerà con me. Sono sempre indefinito. e il pezzo di codice che ho scritto mi dà il primo id (a1) e non a2. se leggo questo: http://api.jquery.com/first-child-selector/ I asume che il mio codice cercherà il primo "" nel div "id1" ... correggimi se lo sono errato .. bruno – bruno

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

Vedere la mia risposta al commento di @ bruno. Stessa cosa. –

3

Se volete immediato primo figlio è necessario

$(element).first(); 

Se volete particolare primo elemento del DOM dal vostro elemento quindi utilizzare sotto

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

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

12

Usare questo per ottenere primo elemento dell'elemento id1:

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

Per rendere le cose super-chiaro, questo è che cosa fare al fine di trovare qualsiasi elemento all'interno di un certo elemento è già possibile accedere, in questo caso è l'elemento con '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> 

la seguente riga si ottiene è div e2:

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

la foll le linee a causa entrambi si ottiene div e3:

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

di cambiare qualcosa su questi, è necessario utilizzare gli oggetti come questo:

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

Spero che questo sia chiaro e disponibile.

Problemi correlati