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

JQuery Kochbuch (German Edition)

Titel: JQuery Kochbuch (German Edition) Kostenlos Bücher Online Lesen
Autoren: jQuery Community Experts
Vom Netzwerk:
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">





























    Diskussion
    Es ist, wie in der Lösung dieses Rezepts erwähnt, möglich, in Dokumenten als Kontext zu suchen. So können Sie zum Beispiel im Kontext eines XML-Dokuments suchen, das Sie über eine XHR-Anfrage (Ajax) erhalten haben. Mehr Details dazu finden Sie in Chapter 16 .

Ein Wrapper-Set mit DOM-Elementen filtern
    Problem
    Sie haben eine Menge mit selektierten DOM-Elementen in einem jQuery-Wrapper-Set, wollen aber DOM-Elemente daraus entfernen, die nicht einem neu angegebenen Ausdruck entsprechen. So erhalten Sie ein neues Set mit Elementen, mit denen Sie arbeiten können.
    Lösung
    Die Filter-Methode von jQuery, angewandt auf ein Wrapper-Set mit DOM-Elementen, kann Elemente ausschließen, die bestimmte Bedingungen nicht erfüllen. Kurz gesagt ermöglicht es die Methode
filter()
, das aktuelle Set mit Elementen zu filtern. Das ist ein wichtiger Unterschied zur find-Methode,bei der ein Wrapper-Set mit DOM-Elementen durch das Finden (über einen neuen Selektoren-Ausdruck) neuer Elemente (einschließlich von Kind-Elementen des aktuellen Wrapper-Sets) verändert wird.
    Um die filter-Methode zu verstehen, wollen wir uns den folgenden Code anschauen:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">





Link
Link

Link
Link

Link
Link
Link
Link




    Die HTML-Seite im Code-Beispiel enthält einfach eine Webseite mit 10

-Elementen. Die Links auf externe Seiten haben einen Klassennamen
external
. Mit der jQuery-Funktion selektieren wir alle

-Elemente auf der Seite. Dann werden mit der filter-Methode alle Elemente entfernt, die keinen Wert
external
für das
class
-Attribut haben. Nachdem das ursprüngliche Set mit DOM-Elementen durch die Methode
filter()
verändert wurde, nutze ich die Eigenschaft
length
, um zu erfahren, wie viele Elemente es nun in der Menge gibt.
    Diskussion
    Es ist auch möglich, der
filter()
-Methode eine Funktion zu übergeben, mit der das Wrapper-Set gefiltert wird. Unser vorheriges Code-Beispiel, bei der
filter()
ein String übergeben wird, kann so angepasst werden:
alert(
jQuery('a')
     .filter( function(index){ return $(this).hasClass('external');} )
     .length + ' externe Links'
);
    Jetzt übergeben ich der Methode
filter()
eine anonyme Funktion. Diese wird mit einem Kontext aufgerufen, der dem aktuellen Element entspricht. Nutze ich also in dieser Funktion
$(this)
, beziehe ich mich in Wirklichkeit auf jedes DOM-Element im Wrapper-Set. Mit Hilfe dieser Funktion überprüfe ich nun jedes

-Element im Wrapper-Set darauf, ob die Klasse

Weitere Kostenlose Bücher