Bücher online kostenlos Kostenlos Online Lesen
JQuery Kochbuch (German Edition)

JQuery Kochbuch (German Edition)

Titel: JQuery Kochbuch (German Edition)
Autoren: jQuery Community Experts
Vom Netzwerk:
(
hasClass()
) den Wert
external
besitzt. Wenn ja, wird der Boolesche Wert true zurückgegeben und das Element bleibt im Set enthalten. Gibt es diese Klasse nicht (false), wird es aus dem Set entfernt. Kurz gesagt: Gibt diese Funktion false zurück, wird das Element entfernt. Jeder andere Wert führt dazu, dass es im Wrapper-Set verbleibt.
    Vielleicht ist Ihnen aufgefallen, dass ich der Funktion einen Parameter mit dem Namen
index
übergeben haben, den ich gar nicht nutze. Dieser Parameter kann bei Bedarf verwendet werden, wenn ein numerischer Bezug auf den Index des Elements im jQuery-Wrapper-Set hergestellt werden soll.

Abhängige Elemente im aktuell selektierten Wrapper-Set finden
    Problem
    Sie haben ein Set mit selektierten DOM-Elementen (oder ein einzelnes Element) und wollen die abhängigen (Kind-)Elemente finden, wobei als Kontext die aktuell selektierten Elemente genutzt werden.
    Lösung
    Nutzen Sie die Methode
.find()
,um ein neues Wrapper-Set mit Elementen zu erzeugen, das im Kontext der aktuell selektierten Elemente deren Kind-Elementen enthält. Gehen wir zum Beispiel einmal davon aus, dass Sie eine Webseite mit einer ganzen Reihe von Absätzen haben. Innerhalb dieser Absätze gibt es hervorgehobene Wörter (in kursiv). Wollen Sie nun nur

-Elemente innerhalb von


-Elementen selektieren, können Sie so vorgehen:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">





Ut ad videntur facilisis elit cum. Nibh insitam erat facit
saepius magna. Nam ex liber iriure et imperdiet. Et mirum eros
iis te habent.


Claram claritatem eu amet dignissim magna. Dignissim quam elit facer eros
illum. Et qui ex esse tincidunt anteposuerit. Nulla nam odio ii
vulputate feugait.


In quis laoreet te legunt euismod. Claritatem consuetudium
wisi sit velit facilisi.






    Denken Sie daran, dass wir dieses Ziel auch erreichen, wenn wir eine Kontext-Referenz als zweiten Parameter an die jQuery-Funktion übergeben hätten:
alert('Die drei Absätze enthalten insgesamt ' + jQuery('em',$('p')) .length +
' kursive Wörter');
    Diese letzten beiden Code-Beispiele sind natürlich nicht ohne Grund präsentiert worden. Es ist nämlich viel logischer und pragmatischer, einen CSS-Selektor-Ausdruck zu nutzen, um alle kursiven, abhängigen Elemente in den drei


-Elementen zu finden.
alert('Die drei Absätze enthalten insgesamt ' + jQuery('p em') .length +
' kursive Wörter');
    Diskussion
    Die jQuery-Methode
.find()
kann genutzt werden, um ein neues Set mit Elementen zu erzeugen, das auf dem Kontext des aktuellen Sets und deren Kind-Elementen basiert. Häufig werden die Methoden
.filter()
und
.find()
verwechselt. Man kann sich den Unterschied am einfachsten merken, indem man sich daran erinnert, dass
.find()
mit den Kind-Elementen des aktuellen Sets arbeitet, während
.filter()
nur mit den eigentlichen Elementen des Sets arbeitet. Wollen Sie also das aktuelle Wrapper-Set ändern, um es als Kontext für die Auswahl der Kinder zu nutzen, verwenden Sie
.find()
. Wollen Sie nur das aktuelle Set filtern und eine neue Untermenge der aktuellen DOM-Elemente erhalten, greifen Sie auf
.filter()
zurück.
find()
findet also Kind-Elemente, während
filter()
nur das filtert, was sich im aktuellen Wrapper-Set befindet.

Vor einer destruktiven Änderung zur vorherigen Selektion zurückkehren
    Problem
    Eine destruktive jQuery-Methode (zum Beispiel
filter()
oder
find()
), die auf ein Set aus Elementen angewendet wurde, muss zurückgenommen werden, so dass die alte »Version« wieder verfügbar ist, so als ob es die destruktive Methode nie gegeben hätte.
    Lösung
    jQuery stellt die Methode
end()
bereit,mit der Sie zum vorherigen Set mit DOM-Elementen zurückkehren und den Zustand vor dem Anwenden einer destruktiven Methode erhalten können. Um die Methode
end()
zu verstehen, wollen wir uns den folgenden HTML-Code anschauen.

Vom Netzwerk:
© Kostenlos Online Lesen 2024 [email protected]