jQuery Prägnant Mit jQuery durchlaufen

Unterschied zwischen find () und filter () Methoden

Das Filter() Diese Methode wird verwendet, um den aktuellen Satz von Elementen zu filtern, die im Wrapper-Satz enthalten sind. Die Verwendung sollte Aufgaben vorbehalten bleiben, die eine Filterung bereits ausgewählter Elemente erfordern. Der folgende Code filtert beispielsweise die drei

Elemente, die im Wrapper-Set enthalten sind.

    

zuerst

Mitte

zuletzt

Anmerkungen: Beim Benutzen Filter(), Frage dich immer, ob es absolut notwendig ist. Zum Beispiel, $ ('p'). filter (': nicht (: zuerst): nicht (: zuletzt)') könnte ohne geschrieben werden Filter()$ ('p: nicht (: zuerst): nicht (: zuletzt)').

Das finden() Die Methode kann dagegen verwendet werden, um die Nachkommen der aktuell ausgewählten Elemente weiter zu finden. Denk an finden() eher wie das Aktualisieren oder Ändern des aktuellen umschlossenen Satzes mit neuen Elementen, die in den bereits ausgewählten Elementen eingeschlossen sind. Beispielsweise ändert der folgende Code den umwickelten Satz von

Elemente zu zwei Elemente mit finden().

    

zuerst

Mitte

zuletzt

Anmerkungen: Sie können die Elemente im Wrapper vor der Verwendung von tatsächlich kombinieren finden() Methode mit den aktuellen Elementen durch andSelf () - z.B. $ ('p'). find ('strong'). andSelf ().

Das Konzept zum Mitnehmen ist das Filter() werden nur die aktuell ausgewählten Elemente im Wrapper-Set verkleinern (oder filtern) finden() kann tatsächlich eine völlig neue Menge von umschlossenen Elementen erstellen.

Anmerkungen: Beide finden() und Filter() sind destruktive Methoden, die durch Verwendung von rückgängig gemacht werden können Ende(), Dadurch wird das umwickelte Gerät wieder in den vorherigen Zustand versetzt finden() oder Filter() wurden benutzt.


Übergabe von filter () an Stelle eines Ausdrucks

Bevor Sie losfahren und einen benutzerdefinierten Filter zum Auswählen von Elementen erstellen, ist es möglicherweise sinnvoller, das Durchlaufen einfach zu übergeben Filter() method Eine Funktion, mit der Sie jedes Element im Wrapper-Set für ein bestimmtes Szenario untersuchen können.

Angenommen, Sie möchten alle einwickeln Elemente in einer HTML-Seite mit einem

Element, das derzeit nicht mit diesem Element umschlossen ist.

Sie können einen benutzerdefinierten Filter erstellen, um diese Aufgabe auszuführen, oder Sie können den Filter() Methode durch Übergeben einer Funktion, die bestimmt, ob das übergeordnete Element des Elements a ist

Wenn dies nicht der Fall ist, entfernen Sie das Element aus dem Satz, bevor Sie das Element umschließen Elemente, die im Set mit a verbleiben

Element.

Im folgenden Beispiel wähle ich alle aus Element in der HTML-Seite, und dann übergebe ich das Filter() Methode eine Funktion, mit der jedes Element durchlaufen wird (using diese) im Wrapper - Set und prüfen, ob Das übergeordnete Element von elements ist a

Element.

      

Beachten Sie, dass ich die ! Operator, um einen booleschen Wert von true in false zu ändern. Das ist, weil ich entfernen möchte Elemente aus dem Satz, die haben

Elemente als übergeordnetes Element. Die Funktion wurde an den übergeben Filter() Die Methode entfernt nur dann Elemente aus der Gruppe, wenn die Funktion false zurückgibt.

Wenn Sie sich mit einer isolierten Situation befassen, können Sie einen benutzerdefinierten Filter erstellen, z. : findImgWithNoP-Für eine einzelne Situation kann vermieden werden, indem der Filtermethode einfach eine Funktion übergeben wird, die benutzerdefinierte Filterung durchführen kann. Dieses Konzept ist sehr mächtig. Bedenken Sie, was möglich ist, wenn wir einen Test mit regulären Ausdrücken in Verbindung mit dem verwenden Filter() Methode.

    
  • jQuery ist großartig.
  • Es ist leicht.
  • Es ist kostenlos!
  • jQuery macht alles einfach.

Das DOM durchfahren

Mit dem können Sie das DOM problemlos zu Vorfahrenelementen hochfahren Elternteil(), Eltern(), und am nächsten () Methoden. Es ist wichtig, die Unterschiede zwischen diesen Methoden zu verstehen. Untersuchen Sie den folgenden Code und stellen Sie sicher, dass Sie die Unterschiede zwischen diesen jQuery-Durchlaufmethoden verstehen.

    

Anmerkungen: am nächsten () und Eltern() scheint die gleiche Funktionalität zu haben, aber am nächsten () wird das aktuell ausgewählte Element tatsächlich in seine Filterung aufnehmen.
am nächsten ()stoppt den Durchlauf, sobald er eine Übereinstimmung findet, während Eltern() ruft alle Eltern auf und filtert dann die optionale Auswahl. Deshalb, am nächsten () kann nur maximal ein Element zurückgeben.


Durchlaufmethoden akzeptieren CSS-Ausdrücke als optionale Argumente

CSS-Ausdrücke werden nicht nur zur Auswahl von Elementen an die jQuery-Funktion übergeben, sondern sie können auch an mehrere der Traversierungsmethoden übergeben werden. Dies kann leicht vergessen werden, da viele der Durchquerungsverfahren funktionieren, ohne irgendeinen Ausdruck verwenden zu müssen, z. Nächster(). Der Ausdruck ist für die folgenden Durchlaufmethoden optional. Denken Sie jedoch daran, dass Sie die Möglichkeit haben, einen Ausdruck zum Filtern anzugeben.

  • Kinder ('Ausdruck')
  • nächste ('Ausdruck')
  • nextAll ('Ausdruck')
  • Elternteil ('Ausdruck')
  • Eltern (Ausdruck)
  • prev ('Ausdruck')
  • prevAll ('Ausdruck')
  • Geschwister ('Ausdruck')
  • am nächsten ('Ausdruck')