text
Mittlerer Text
text
-Elementen durchsucht wird. Dann werden per
filter()
aus den selektierten
-Elementen im Set nur die ausgewählt, die die Klasse
middle
besitzen. Die Eigenschaft
length
beschreibt dann, wie viele Elemente im Set verblieben sind:
alert(jQuery('p').filter('.middle').length); //gibt 1 aus
Die nächste
alert()
-Anweisung nutzt die Methode
end()
. Wir gehen genauso vor wie bei der vorherigen Anweisung, nur dass wir die Methode
filter()
rückgängig machen und damit das Set mit den Elementen zurückgeben, die sich vor dem Anwender der Methode
filter()
im Wrapper-Set befanden:
alert(jQuery('p').filter('.middle'). end() .length); //gibt 3 zurück
Die letzte
alert()
-Anweisung zeigt, wie die Methode
end()
zwei Mal genutzt wird, um beide destruktive Änderungen
filter()
und
find()
zurückzunehmen und damit das Wrapper-Set in seinen Ursprungszustand zurückzuversetzen:
alert(jQuery('p').filter('.middle').find('span') .end().end() .length); //gibt 3 zurück
Diskussion
Wenn die Methode
end()
genutzt wird, obwohl vorher keine destruktiven Operationen durchgeführt wurden, wird ein leeres Set zurückgegeben. Dabei handelt es sich bei einer destruktiven Operation um eine solche, die die Menge der gefundenen jQuery-Elemente ändert – somit also alle durchlaufenden oder verändernden Methoden, die ein jQuery-Objekt zurückgeben. Dazu gehören
add()
,
andSelf()
,
children()
,
closes()
,
filter()
,
find()
,
map()
,
next()
,
nextAll()
,
not()
,
parent()
,
parents()
,
prev()
,
prevAll()
,
siblings()
,
slice()
,
clone()
,
appendTo()
,
prependTo()
,
insertBefore()
,
insertAfter()
und
replaceAll()
.
Die vorherige Selektion mit der aktuellen Selektion vereinigen
Problem
Sie haben ein Set mit Elementen bearbeitet, um zu einem neuen Set zu gelangen, wollen aber sowohl mit dem neuen wie auch mit dem alten Set arbeiten.
Lösung
Sie können eine vorherige Selektion von DOM-Elementen mit der aktuellen Selektion kombinieren, indem Sie die Methode
andSelf()
nutzen.So selektieren wir zum Beispiel im folgenden Code zunächst alle
-Elemente innerhalb der
-Elementen innerhalb der
-Elemente angewendet werden:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Absatz
Absatz