Startpagina » Coding » 15 JavaScript-methoden voor DOM-manipulatie voor webontwikkelaars

    15 JavaScript-methoden voor DOM-manipulatie voor webontwikkelaars

    Als webontwikkelaar moet u vaak het DOM, het objectmodel dat door browsers wordt gebruikt om specificeer de logische structuur van webpagina's en op basis van deze structuur aan render HTML-elementen op het scherm.

    HTML definieert de standaard DOM-structuur. In veel gevallen wilt u dit misschien wel manipuleren met JavaScript, meestal om dit te doen voeg extra functionaliteiten toe naar een site.

    IMAGE: Google Developers

    In dit bericht vindt u een lijst met 15 basis JavaScript-methoden dat DOM-manipulatie ondersteunen. Je zou deze methoden waarschijnlijk vaak in je code gebruiken, en je zult er ook tegenaan lopen in onze JavaScript-tutorials.

    1. querySelector ()

    De querySelector () methode retourneert het eerste element dat overeenkomt met een of meer CSS-kiezers. Als er geen overeenkomst wordt gevonden, wordt deze geretourneerd nul.

    Voor querySelector () werd geïntroduceerd, ontwikkelaars op grote schaal gebruikt de getElementById () methode die haalt een element met een opgegeven op ID kaart waarde.

    Hoewel getElementById () is nog steeds een nuttige methode, maar dan met de nieuwere querySelector () en querySelectorAll () methoden die we vrij zijn doelelementen op basis van een CSS-selector, zo hebben we meer flexibiliteit.

    Syntaxis
    var ele = document.querySelector (selector);
    • ele - Eerste overeenkomstelement of nul (als er geen element overeenkomt met de selectors)
    • keuzeschakelaar - een of meer CSS-kiezers, zoals "#FooId", ".FooClassName", " .Class1.class2", of ".class1, .class2"
    Codevoorbeeld

    In dit voorbeeld de eerste

    wordt geselecteerd met de querySelector () methode en de kleur is veranderd in rood.

     

    eerste alinea

    lid twee

    div een

    paragraaf drie

    div twee
     var firstDiv = document.querySelector ('div'); firstDiv.style.color = 'rood'; 
    Interactieve demo

    Test de querySelector () methode in de volgende interactieve demo. Typ gewoon een selector die overeenkomt met degene die u kunt vinden in de blauwe vakken (bijv. #drie) en klik op de knop Selecteren. Merk op dat als u typt .blok, alleen zijn eerste exemplaar zal worden geselecteerd.

    2. querySelectorAll ()

    anders querySelector () die alleen het eerste exemplaar van alle overeenkomende elementen retourneert, querySelectorAll () retourneert alle elementen die overeenkomen met de opgegeven CSS-selector.

    De overeenkomende elementen worden geretourneerd als een nodelist object dat een leeg object zal zijn als er geen overeenkomende elementen worden gevonden.

    Syntaxis
    var eles = document.querySelectorAll (selector);
    • eles - EEN nodelist object met alle overeenkomende elementen als eigenschapswaarden. Het object is leeg als er geen overeenkomsten zijn gevonden.
    • keuzeschakelaar - een of meer CSS-kiezers, zoals "#FooId", ".FooClassName", " .Class1.class2", of ".class1, .class2"
    Codevoorbeeld

    Het onderstaande voorbeeld gebruikt dezelfde HTML als de vorige. In dit voorbeeld zijn alle alinea's geselecteerd met querySelectorAll (), en zijn blauw gekleurd.

     

    eerste alinea

    lid twee

    div een

    paragraaf drie

    div twee
     var paragraph = document.querySelectorAll ('p'); for (var p of paragraph) p.style.color = 'blue'; 

    3. addEventListener ()

    Evenementen verwijzen naar wat er met een HTML-element gebeurt, zoals klikken, scherpstellen of laden, waarop we kunnen reageren met JavaScript. We kunnen JS-functies toewijzen aan luister voor deze gebeurtenissen in elementen en iets doen wanneer de gebeurtenis had plaatsgevonden.

    Er zijn drie manieren waarop je kunt wijs een functie toe aan een bepaalde gebeurtenis.

    Als foo () is een aangepaste functie, u kunt het registreren als een klikgebeurtenis luisteraar (noem het wanneer op het knopelement wordt geklikt) op drie manieren:

    1.  
    2.  var btn = document.querySelector ('knop'); btn.onclick = foo;
    3.  var btn = document.querySelector ('knop'); btn.addEventListener ('klik', foo);

    De methode addEventListener () (de derde oplossing) heeft sommige pro's; het is de nieuwste standaard - de toewijzing van meer dan één functie als gebeurtenislisteners aan één evenement - en wordt geleverd met een handige reeks opties.

    Syntaxis
    ele.addEventListener (evt, listener, [opties]);
    • ele - Het HTML-element waarnaar de gebeurtenislistener luistert.
    • evt - De gerichte gebeurtenis.
    • luisteraar - Typisch een JavaScript-functie.
    • opties - (optioneel) Een object met een set booleaanse eigenschappen (hieronder weergegeven).
    opties Wat gebeurt er, wanneer het is ingesteld op waar?
    gevangen nemen

    Stopt het borrelen van gebeurtenissen, d.w.z. voorkomt dat alle gebeurtenislisteners worden opgeroepen voor hetzelfde gebeurtenistype in de voorouders van het element.

    Om deze functie te gebruiken, kunt u 2 syntaxes gebruiken:

    1. ele.addEventListener (evt, luisteraar, waar)
    2. ele.addEventListener (evt, listener, capture: true);
    een keer

    Luisteraar wordt alleen de eerste keer dat de gebeurtenis plaatsvindt genoemd, dan wordt deze automatisch verwijderd van de gebeurtenis en wordt deze er niet meer door geactiveerd.

    passief

    De standaardactie van de gebeurtenis kan niet worden gestopt met de methode preventDefault ().

    Codevoorbeeld

    In dit voorbeeld voegen we een klikgebeurtenislistener toe foo, naar de

     var btn = document.querySelector ('knop'); btn.addEventListener ( 'klik', foo); functie foo () alert ('hallo'); 
    Interactieve demo

    Wijs het toe foo () aangepaste functie als gebeurtenislistener voor een van de volgende drie gebeurtenissen: invoer, Klik of mouseover & activeer de gekozen gebeurtenis in het onderste invoerveld door er in te zoomen, te klikken of te typen.

    4. removeEventListener ()

    De removeEventListener () methode maakt een gebeurtenislistener los eerder toegevoegd met de addEventListener () methode van het evenement waar het naar luistert.

    Syntaxis
    ele.removeEventListener (evt, listener, [options]);

    Gebruikt dezelfde syntaxis als de hiervoor genoemde addEventListener () methode (behalve voor de een keer optie die is uitgesloten). De opties worden gebruikt om heel specifiek te zijn over het identificeren van de luisteraar om te worden losgemaakt.

    Codevoorbeeld

    Volgend op het codevoorbeeld dat we gebruikten bij addEventListener (), hier verwijderen we de klikgebeurtenislistener genoemd foo van de