Heim >Web-Frontend >js-Tutorial >Die jQuery-Filtermethode filter() wählt Elemente mit speziellen Attributen_jquery aus

Die jQuery-Filtermethode filter() wählt Elemente mit speziellen Attributen_jquery aus

WBOY
WBOYOriginal
2016-05-16 16:44:371556Durchsuche

Jetzt müssen alle Elemente mit Hintergrundbildern ausgewählt werden. Wir können keine Auswahlausdrücke verwenden, um dieses Problem zu lösen.
Verwenden Sie die DOM-Filtermethode filter() unter jeder in der Funktion ausgedrückten Bedingung.

Die Filtermethode in jQuery ermöglicht die Übergabe einer Zeichenfolge (d. h. eines Selektorausdrucks) als Parameter.
Oder eine Funktion wird übergeben Definieren Sie, ob ein Element ausgewählt ist.
Die übergebene Funktion wird für jedes Element im aktuellen Auswahlsatz ausgeführt.
Wenn die Funktion „false“ zurückgibt, wird die entsprechende Funktion jedes Mal aus dem Auswahlsatz gelöscht stimmt, das entsprechende Element
ist nicht betroffen

Code kopieren Der Code lautet wie folgt:
jQuery('*').filter(function(){
return !!jQuery(this).css('background');
});

Der obige Code wählt alle Elemente mit einem Hintergrundbild aus.
Die anfängliche Sammlung besteht aus allen Elementen (*). Dann wird filter() mit einer Funktion als Parameter aufgerufen die Attributhintergrundbeurteilung,
Wenn es existiert, löschen Sie es aus der Ergebnismenge

Es ist ein beliebiger undefinierter, leerer Typ und natürlich falsch in der Mitte von Javascript.
Wenn der Funktionsaufruf diese Werte zurückgibt, gibt die Funktion „false“ zurück, wodurch das

-Element ohne Hintergrundattribut aus der Sammlung entfernt wird.
Eigentlich ist dies nicht der Fall notwendig. Weil jQuery diese Rückgabewerte in boolesche Typen umwandelt.
Auf diese Weise kann jeder, der sich Ihren Code ansieht, absolut sicher sein. ).

In der Funktion, die filter() übergibt, können Sie über das Schlüsselwort this auf das aktuelle Element verweisen.
Fügen Sie es in die jQuery-Funktion ein und es wird zu einem jQuery-Objekt. Reguläres Elementobjekt.
jQuery(this) //jQuery-Objekt


Kopieren Sie Code

Der Code lautet wie folgt: jQuery('div').filter(function(){ var width = jQuery(this).width; return width >100 && width < //Gibt Elemente mit 10 oder 20 untergeordneten Elementen zurück = jQuery(this).childern().length;
returnchildren ===20;

}Das Folgende ist ein Codebeispiel: Bestimmen Sie die Elemente mit einer Hintergrundfarbe und ändern Sie alle ihre Hintergrundfarben in Schwarz.




Code kopieren


Der Code lautet wie folgt:

head>