Se former à jQuery en 30 jours
2012-04-05 #javascript#jquery
Je me suis lancé dans la formation 30 Days to Learn jQuery mardi dernier. C'est une formation gratuite prévue sur 30 jours, soit pile 1 mois si on tient le rythme de 1 tutoriel par jour ou au pire 1 mois et demi à 2 mois si on profite des week-ends et des jours fériés pour se reposer.
Je viens de terminer la première partie consacrée aux bases de jQuery, soit 1 bonne heure et demi de vidéos et un quiz.
Grosso-modo, ça m'a permi de revoir un peu tout ce que j'avais acquis au fur et à mesure de mon utilisation de jQuery.
- Hello jQuery : récupérer jQuery, le référencer juste avant la balise
</body>
, utiliser la fonctionjQuery()
, les 1° sélecteurs CSS, l'alias$()
- Not So Fast, jQuery : utiliser la méthode
ready()
quand notre script apparaît en début de page avec au choix la syntaxe$(document).ready(function() { ... });
ou$(function() { ... });
- The Basics of Querying the DOM : les fonctions
children()
,find()
,parent()
,parents()
,closest()
... pour parcourir le DOM à partir d'un sélecteur - Events 101 : un premier exemple pour réagir au clic sur un bouton avec
la méthode
click()
- Events 201 : un autre exemple plus poussé de
click()
,.hover()
eton("click")
avec quelques exemples d'animations - Quiz #1: The Basics : j'ai presque fait 20 / 20
- Bind…Live…Delegate…Huh? : rappel des "anciennes" méthodes
bind()
,live()
etdelegate()
qui pointent désormais toutes sur la méthodeon()
- Creating and Appending Content : un tour des méthodes pour insérer du
contenu au DOM :
append()
,prepend()
,after()
,before()
,appendTo()
,prependTo()
,insertAfter()
,insertBefore()
et$("<p></p>")
pour créer du contenu
Je connaissais plus ou moins, mais ça m'a aussi servi à apprendre quelques trucs nouveaux :
$("li:first-child")
=$("li:first")
=$("li").first()
=$("li").eq(0)
::first-child
est un sélecteur CSS alors que:first
est un sélecteur spécifique à jQuery qui fonctionnerait aussi avec IE6 (je savais mais j'avais oublié)- l'existence de la fonction
on('click')
=click()
(je connaissais pas) $("tr").on("event")
=> attache 1 évènement pour chaque tr, donc potentiellement énormément d'évènements$("table").on("event", "tr")
=> attache 1 seul évènement à la table et l'applique uniquement aux lignes => beaucoup plus performant
Pour l'instant, le bilan est plutôt positif puisque j'ai découvert quelques trucs et que ça m'a permi de vérifier que je maitrise plutôt bien les bases de jQuery.
Les révisions (la partie facile) étant derrière moi, il faut maintenant basculer dans la vraie formation et attaquer la deuxième partie consacrées aux effets. Soit 10 jours de leçons avec presque 3 heures de vidées, 1 quiz et même un devoir du soir !