Apprendre jQuery : Introduction aux sélecteurs
Date de publication : 22 octobre 2008
Par
Didier Mouronval
Cet article a pour but de vous apprendre à sélectionner des éléments avec jQuery
Les sélecteurs
La première chose à apprendre de jQuery afin d'être en mesure de séparer vos
codes JavaScript et (X)HTML sont les sélecteurs. Les sélecteurs permettent de
sélectionner un ou des éléments du DOM, ces derniers pouvant être
manipulés comme tout autre objet. Si vous êtes familier avec CSS,
vous allez saisir rapidement les sélecteurs. Ceux-ci sont dans la réalité
la même chose et ils utilisent presque la même syntaxe. jQuery permet la
sélection des éléments grâce à une fonction spéciale nommé « $ ».
Sélecteurs |
$(document)
$(' * ' )
$(' #monDiv ' )
$(' p.first ' )
$(' p[title] ' )
$(' p[title="Bonjour"] ' )
$(' p[title!="Bonjour"] ' )
$(' p[title^="H"] ' )
$(' p[title$="H"] ' )
$(' p[title*="H"] ' )
$(' ul, ol, dl ' )
$(' div .desc ' )
$(' div > .enfant ' )
$(' label + input ' )
$(' #debut ~ div ' )
|
La sélection par filtre
jQuery offre une très large possibilité de sélection d'éléments en fonction
de filtres sur des collections d'éléments.
Le fonctionnement de la sélection par filtre est simple, on sélectionne d'abord
un ensemble d'éléments (par défaut, tous) puis on affine cette sélection à partir de certains critères.
|
Pour bien comprendre les notions de filtre, il est important d'avoir des connaissances minimum
sur la structure du DOM (Document Object Model). Pour en savoir plus sur le DOM.
|
Filtres |
$(' div:first ' )
$(' div:last ' )
$(' div:not(.ok) ' )
$(' div:[even|odd] ' )
$(' div:[eq|lt|gt](n) ' )
$(' :header ' )
$(' :animated ' )
$(" div:contain('dvp') " )
$(' div:empty ' )
$(' div:has(p) ' )
$(' div:parent ' )
$(' div:nth-child([n|even|odd|equation]) ' )
$(' div:[first-child|last-child] ' )
$(' div:only-child ' )
|
Les éléments de formulaire
Pour terminer, jQuery possède quelques filtres spécifiques à la sélection d'éléments
de formulaires en fonction de leur nature ou de leur état.
Eléments de formulaires |
$(' :input ' )
$(' :[text|password|radio|checkbox|submit|image|reset|button|file|hidden] ' )
$(' :[enabled|disabled|checked|selected] ' )
|
En conclusion
La force de jQuery réside donc manifestement dans la richesse de sa fonction $, d'autant plus
qu'en dehors de la richesse de ces sélecteurs, vous pouvez bien sûr les combiner entre eux
pour atteindre n'importe quels élément du DOM très facilement.
Voilà, je crois que le tout ne demande pas plus d'explication que cela.
Tous les sélecteurs CSS vont fonctionner avec jQuery et ce dernier permet
encore plus de possibilités que CSS.