2009-07-10 6 views
26

Ich möchte nur die Elemente auf der ersten "Ebene" auswählen.jQuery Elemente auf 1. "Ebene" auswählen

Ex:

<div id="BaseElement"> 
    <p>My paragraph 0</p> 
    <div> 
    <span>My Span 0</span> 
    <span>My Span 1</span> 
    </div> 
    <span>MySpan 2</span> 
    <span>MySpan 3</span> 
    <p>My paragraph 1</p> 
</div> 

Lassen Sie uns sagen, dass Sie die BaseElement Knoten bekam.

var Element = $("div#BaseElement"); 

Wie hole ich Knoten nur vom Basiselementknoten?

$("div#BaseElement span") 

sollte zur Folge haben nur in immer MySpan 2 und MySpan 3.

Antwort

8

In der jQuery API, wenn es bezieht sich auf ‚Nachkommen‘ es auf allen Ebenen bedeutet, und, wenn es um ‚Kinder‘ bezeichnet, bedeutet es nur die erste Stufe

dies finden Sie alle ersten Ebene Kinder bekommen (in Ihrem Beispiel der erste p, div, 2 Spannweiten und letzte p)

$('#BaseElement > *') 
1

zu What is the difference direct descendent (>) vs. descendant in jQuery selectors? für Unterschiede zwischen Raum siehe auch und > in Selektoren. Mit Platz ist gleich zu finden() und > entspricht Kindern(). Mit anderen Worten sind die folgenden Paare gleichwertig,

$("#BaseElement").children("span"); 
$("#BaseElement > span"); 

Holen Sie sich alle Kinder und ihre Nachkommen:

$("#BaseElement").find("span"); 
$("#BaseElement span"); 
Verwandte Themen