Efficiënt scripten met jQuery 3.x
  • Over deze cursus
  • 1 Inleiding
  • 2 Inleiding tot JavaScript
    • Events en Actions
    • Syntax regels
    • JavaScript debugger
    • Variabelen
    • Operatoren
    • Voorwaardelijke instructies
    • Lussen
    • Functies
    • Functies in jQuery
    • Scope (zichtbaarheid) van variabelen
    • Objecten
    • Ingebouwde JavaScriptobjecten
  • 3 jQuery basis
  • 4 Elementen selecteren
    • Basis selectors
    • Hiërarchische selectors
    • Basisfilters
    • Inhoudsfilters
    • Attribuut selectors
    • Childfilters
    • Formulierfilters
    • Zichtbaarheidsfilters
    • Toepassing 1: gemeentelijst filteren (basisversie)
    • Toepassing 2: openingsuren markeren
  • 5 Selectie verfijnen (traversing)
    • Hiërarchische selectors
    • Filter methodes
    • Element looping: each()
    • Selecties in cascade: end()
    • Snelheidstest
    • Toepassing 1: gemeentelijst filteren (uitgebreide versie)
    • Toepassing 2: rating
  • 6 Events
    • Documentevents
    • Gebruikersevents
    • Event bubbling
    • Event methodes en properties
    • Hover-event: methode met een dubbele functie
    • De methode on()
    • Event handlers verwijderen
    • Toepassing 1: reactietest
  • 7 Animaties en effecten
    • Basiseffecten
    • Aangepaste animaties
    • Animatie pauzeren: delay()
    • Animatie beëindigen: finish()
    • Animatie afbreken: stop()
    • Versnellingsparameter
    • Toepassing 1: vloeiend scrollen
    • Toepassing 2: tabbladen
  • 8 DOM manipulatie
    • HTML-attributen
    • Object dimensies
    • Elementen toevoegen
    • Elementen verwijderen
    • Elementen vervangen
    • Elementen klonen
    • Toepassing 1: lightbox
  • 9 Inleiding tot AJAX
    • Historiek
    • Wat is XML?
    • Wat is JSON?
    • Requests filteren met GET en POST
    • Zes soorten AJAX requests
    • Same origin policy
    • Cross-site scripting
  • 10 AJAX zonder server-side scripting
    • Load()
    • $.getScript()
    • $.getJSON()
    • $.get() en $.post()
    • $.ajax()
    • Externe gegevens ophalen via JSONP
  • 11 AJAX met server-side scripting
    • Master/detailrelatie met load()
    • Master/detailrelatie met $.get()
    • Contactformulier verzenden met $.post()
    • Cross-site scripting (XSS)
Powered by GitBook
On this page

5 Selectie verfijnen (traversing)

PreviousToepassing 2: openingsuren markerenNextHiërarchische selectors

Last updated 7 years ago

Een jQuery selector is al zeer krachtig, maar soms volstaat één selector niet en gaan we de selectie verder moeten verfijnen. We beginnen met enkele voorbeelden die we verder in dit hoofdstuk uitgebreid bespreken:

Stel dat we het eerste en het laatste item in een lijst willen kleuren. Dit kan perfect met de selectiemethodes uit voorgaand hoofdstuk. Maar wat als de pagina meerdere lijsten bevat waarvan we telkens het eerste en laatste item willen kleuren? Dit kan reeds met $('ul li:first-child, ul li:last-child') maar in dit hoofdstuk gaan we op zoek naar een beter alternatief.

Een tweede voorbeeld: de pagina bevat een ratingsysteem met sterretjes. Als we één van de sterretjes aanklikken moeten deze ster plus alle voorgaande sterren van kleur veranderen.

Met de methodes die we in dit hoofdstuk bespreken (traversing methodes) is dit perfect mogelijk. In de voorbeelden beperken we ons tot een set van methodes die we in de volgende hoofdstukken nog regelmatig tegenkomen.

Een overzicht van de verschillende traversing methodes vindt u hier:

In de meeste voorbeelden van dit hoofdstuk wordt door het click-event de class .highLight toegevoegd aan een bepaalde selectie.

Bijvoorbeeld:

// Knop1
$('#first').click(function(){
    $('*').removeClass('highLight');
    $('li').first().addClass('highLight');
});

De eerste lijn binnen het click-event wist op elk element de class .highLight. De tweede lijn maakt een nieuwe selectie waarop de class .highLight wordt toegepast.

Om ons volledig te concentreren op de selectiemethodes, tonen we in de voorbeelden enkel de relevante code. Kijk steeds in de broncode voor het volledig script.

$('li').first().addClass('highLight');    // Knop1

http://api.jquery.com/category/traversing/