2012-07-13 12 views
16

Questo dovrebbe essere facile ma non riesco a farlo.Come trovare il primo elemento figlio diretto di un div

Ho un elemento div con id "LeftScrollableDiv" e io sto cercando di trovare il primo elemento figlio sotto di essa:

$("#LeftScrollableDiv:first-child"); 

<div id="LeftScrollableDiv:first"> 
    <table></table> 
</div> 

Ma il risultato è nullo. Qualsiasi aiuto??

+5

'$ ('# LeftScrollableDiv') bambini() prima()' – techfoobar

+0

http:..//api.jquery.com/ è il tuo amico ... – Christoph

risposta

41
$('#LeftScrollableDiv').children().first(); 

API

+0

@christoph grazie per la formattazione;) – rsplak

10
$("#LeftScrollableDiv > :first-child"); 
4

I :first-child verifica se soggetto è il primo figlio del suo genitore. In questo caso stai provando a selezionare un elemento con ID #LeftScrollableDiv che è il primo figlio del suo genitore. Tutti i selettori : filtrano solo la selezione precedente, non selezionano nuovi elementi.

Non c'è purtroppo il metodo .firstChild in jQuery, quindi è necessario selezionare sempre tutti i bambini e poi estrarre il primo.

Una possibile selettore per farlo è:

"#LeftScrollableDiv > :first" 

Which is far more efficient than > :first-child.

1

Quanto segue non ha funzionato per me:

$('#LeftScrollableDiv').children().first(); 

Se trovate lo stesso, allora si può trattare l'oggetto restituito dai bambini() metodo come un array.

per ottenere il primo elemento:

$('#LeftScrollableDiv').children()[0] 

Per ottenere l'ultimo elemento:

$('#LeftScrollableDiv').children()[$('#LeftScrollableDiv').children().length-1] 
Problemi correlati