Prototype est le framework javascript le plus en vue du moment, notamment utilisé par Scriptaculous et Moo.
Ce billet a pour but d’expliquer certaines fonctionnalités moins connues du framework mais pourtant très utiles dans la vie du développeur.
$$ :
Si tout le monde connait la fonction $ qui est la version simple du document.getElementById(), la fonction $$ est encore plus puissante.
Elle équivaut au document.getElementsByTagName, mais permet également de rechercher par selecteurs css :
/*Sélection de tous les div qui ont pour classe css cluster.*/ $$("div.cluster");
note : la fonction document.getElementsByClassName est désormais deprecié.
addClassName()
Comme son nom l’indique la fonction ajoute une classe CSS à un élément.
/*Ajout de la classe CSS rouge à l'élément menu*/ $("menu").addClassName("rouge");
note : fonction inverse removeClassName().
down() & up()
Ces deux fonctions sont extrèmement pratique pour parcourir l’arbre DOM rapidement.
Down permet d’aller chercher les descendants d’un élément.
Up permet d’aller chercher les ascendants d’un élément.
note : attention à ne pas confondre ascendants/descendants avec parents/enfants, pour parcourir les noeuds parent et child il existe notament la fonction childElements
insert()
La fonction insert permet d’insérer un élément de manière simple dans l’arbre DOM.
C’est une des nouveautés de la version 1.6.
<ul id="menu"> <li>1</li> <li>2</li> <li>4</li> </ul>
//ajouter une balise li en 3ème position : $("menu").down(1).insert({after:" <li>3</li> "});

29 décembre 2007 à 17:33
hey bien pratique en effet !!
3 février 2008 à 19:25
Très pratique en en effet. Je me permet de poster ce commentaire pour attirer votre attention sur Jquery.
Cette autre librairie javascript possède plusieurs méthodes d’accès au élements du DOM nottament les Xpath et les sélecteurs CSS 3. A tester si vous ne la connaissez pas.