jQuery Kort gezegd doorrijden met jQuery

Verschil tussen vind () en filter () Methoden

De filter() methode wordt gebruikt om de huidige set elementen in de wrapset te filteren. Het gebruik ervan moet worden overgelaten aan taken waarvoor een verzameling elementen moet worden gefilterd die al zijn geselecteerd. De onderstaande code filtert bijvoorbeeld de drie

elementen in de wrapset.

    

eerste

midden-

laatste

Opmerkingen: Tijdens gebruik filter(), vraag jezelf altijd af of het absoluut noodzakelijk is. Bijvoorbeeld, . $ ( 'P') filter ( ': niet (: first): niet (: laatste)') kan zonder worden geschreven filter()$ ( 'T: geen (: first): niet (: laatste)').

De vind() methode, aan de andere kant, kan worden gebruikt om verder afstammelingen van de momenteel geselecteerde elementen te vinden. Denken aan vind() meer zoals het bijwerken of wijzigen van de huidige omwikkelde set met nieuwe elementen die zijn ingekapseld in de elementen die al zijn geselecteerd. De onderstaande code verandert bijvoorbeeld de ingepakte set van

elementen tot twee elementen door te gebruiken vind().

    

eerste

midden-

laatste

Opmerkingen: U kunt de elementen in de omslag eerder combineren met het gebruik van de vind() methode met de huidige elementen met behulp van andSelf () - bv. $ ( 'P'). Vinden ( 'sterke'). AndSelf ().

Het concept om mee te nemen is dat filter() zal alleen de momenteel geselecteerde elementen in de wrapset die is ingesteld verminderen (of filteren) vind() kan eigenlijk een geheel nieuwe set van omwikkelde elementen maken.

Opmerkingen: Beide vind() en filter() zijn destructieve methoden die ongedaan kunnen worden gemaakt door te gebruiken einde(), waardoor de omwikkelde set eerder terugkeert naar de vorige staat vind() of filter() waren gebruikt.


Filter passeren () een functie in plaats van een uitdrukking

Voordat u wegloopt en een aangepast filter maakt voor het selecteren van elementen, kan het zinvoller zijn om het passeren over te slaan filter() methode een functie waarmee u elk element in de wrapper set voor een bepaald scenario kunt bekijken.

Stel dat u bijvoorbeeld alles wilt inpakken elementen in een HTML-pagina met een

element dat momenteel niet is ingepakt met dit element.

U zou een aangepast filter kunnen maken om deze taak te volbrengen, of u zou het kunnen gebruiken filter() methode door deze een functie door te geven die bepaalt of de ouder van het element een is

element, en zo niet, verwijder dan het element uit de set voordat u de elementen die in de set blijven met een

element.

In het volgende voorbeeld selecteer ik elke element in de HTML-pagina, en dan passeer ik de filter() methode een functie die wordt gebruikt om over elk element te itereren (met deze) in de wrapset, controleren om te zien of de het ouderelement van elementen is een

element.

      

Merk op dat ik de ! operator om een ​​Booleaanse waarde van true in false te wijzigen. Dit is omdat ik wil verwijderen elementen uit de set die hebben

elementen als hun bovenliggende element. De functie doorgegeven aan de filter() methode verwijdert alleen elementen uit de set als de functie false retourneert.

Het belangrijkste punt is dat als je te maken hebt met een geïsoleerde situatie, je een aangepast filter maakt, bijvoorbeeld. : findImgWithNoP-voor een enkele situatie kan worden vermeden door simpelweg de filtermethode door te laten met een functie die aangepaste filtering kan uitvoeren. Dit concept is vrij krachtig. Overweeg wat mogelijk is als we een reguliere expressietest gebruiken in combinatie met de filter() methode.

    
  • jQuery is geweldig.
  • Het is lichtgewicht.
  • Het is gratis!
  • jQuery maakt alles eenvoudig.

De DOM doorkruisen

U kunt eenvoudig de DOM naar voorouderelementen verplaatsen met behulp van de ouder(), ouders(), en dichtst () methoden. Het is van cruciaal belang de verschillen tussen deze methoden te begrijpen. Bekijk de onderstaande code en zorg ervoor dat u de verschillen begrijpt tussen deze jQuery-doorvoermethoden.

    

Opmerkingen: dichtst () en ouders() lijkt misschien dezelfde functionaliteit te hebben, maar dichtst () zal het momenteel geselecteerde element in de filtering opnemen.
dichtst ()stopt met doorrijden zodra het een overeenkomst vindt, terwijl ouders() krijgt alle ouders en filtert vervolgens op uw optionele selector. daarom, dichtst () kan maximaal één element retourneren.


Doorvoermethoden Accepteer CSS-expressies als optionele argumenten

CSS-expressies worden niet alleen doorgegeven aan de jQuery-functie voor het selecteren van elementen, maar ze kunnen ook worden doorgegeven aan verschillende van de verplaatsingsmethoden. Het is misschien gemakkelijk om dit te vergeten, omdat veel van de verplaatsingsmethoden functioneren zonder dat er überhaupt een expressie hoeft te worden gebruikt - bijv. next (). De expressie is optioneel voor de volgende traversal-methoden, maar vergeet niet dat u de mogelijkheid hebt om een ​​expressie voor filteren op te geven.

  • kinderen ( 'expressie')
  • next ( 'expressie')
  • nextAll ( 'expressie')
  • ouder ( 'expressie')
  • ouders ( 'expressie')
  • prev ( 'expressie')
  • prevAll ( 'expressie')
  • siblings ( 'expressie')
  • dichtstbijzijnde ( 'expressie')