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
  • Descendant selector: $('ancestor descendant')
  • Child selector: $('parent > child')
  • Sibling selector (alle volgende) : $('prev ~ sibling')
  • Sibling selector (dadelijk aangrenzende): $('prev + next')
  1. 4 Elementen selecteren

Hiërarchische selectors

PreviousBasis selectorsNextBasisfilters

Last updated 7 years ago

Zie:

Hiërarchische selectors kan u best vergelijken met een stamboom. Bekijk in onderstaande code hoe de tags in elkaar genest zijn.

<table class="table">
    <thead>
        <tr>
            <th>Opleiding:</th>
            <th>Datum:</th>
            <th>Lokaal:</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Dreamweaver</td>
            <td>15 december</td>
            <td>PC1</td>
        </tr>
    </tbody>
</table>

De hiërarchische selectors zijn:

  • Parent en child Parent en child zijn geneste tags op het eerste niveau. De thead-tag en de tbody-tag staan rechtstreeks onder de table-tag en gedragen zich in een parent-child relatie. table is een parent van thead of thead is een child van table.

  • Siblings Siblings (broers of zussen) zijn elementen die op gelijk niveau staan. De drie td-tags binnen een tr-tag zijn siblings van elkaar.

  • Ancestor (voorouder) Een ancestor kan de parent zijn, maar ook de parent van de parent, of nog een verdere relatie. th heeft als parent tr. th heeft als ancestor tr, maar ook thead en table.

  • Descendant (nakomeling) Een descendant kan een child zijn, maar ook een child van een child of nog een verdere relatie. table heeft als child thead en tbody. table heeft als descendant thead, tbody, maar ook tr, th en td.

★ Controleer onderstaande selecties op het oefenbestand. ★ Je mag enkel het deel tussen de aanhalingstekens invullen. ★ Bijvoorbeeld: table tr en niet $('table tr').

Descendant selector: $('ancestor descendant')

$('table tr')    // alle tr-tags binnen een tabel
$('table td')    // alle td-tags binnen een tabel
$('table td a')  // enkel de links in td-tags van een tabel
$('ul *')        // alle tags binnen een ul-tag

Child selector: $('parent > child')

$('table > tbody')       // de tbody-tags die een child zijn van een tabel
$('table > td')          // de td-tags die een child zijn van een tabel (*)
$('table > tbody > tr')  // alle tabelrijen die een child zijn van tbody-tags die op hun beurt een child zijn van table

(*) Merk op dat in ons voorbeeld geen enkele td-tag rechtstreeks onder de table-tag staat. Er wordt dus niets geselecteerd!

Sibling selector (alle volgende) : $('prev ~ sibling')

$('thead ~ tbody')   // alle tbody-tags die op hetzelfde niveau staan van en volgen op een thead-tag
$('li ~ li')         // alle li-tags die op hetzelfde niveau staan van en volgen op een li-tag
$('h3 ~ p')          // alle p-tags die op hetzelfde niveau staan van en volgen op een h3-tag

Sibling selector (dadelijk aangrenzende): $('prev + next')

$('thead + tbody')   // alle tbody-tags die op hetzelfde niveau staan van en DADELIJK volgen op een thead-tag.
$('li + li')         // alle li-tags die op hetzelfde niveau staan van en DADELIJK volgen op een li-tag
$('h3 + p')          // alle p-tags die op hetzelfde niveau staan van en DADELIJK volgen op een h3-tag

In het laatste voorbeeld worden paragraaf2 en paragraaf3 niet geselecteerd.

http://api.jquery.com/category/selectors/hierarchy-selectors/