Vous le savez sans doute, mais si le DOM propose une fonction pour sélectionner un élément par son id
ou son nom, ce n’est pas (encore) le cas pour sélectionner les éléments qui partagent une ou plusieurs classes. C’est là qu’intervient The Ultimate GetElementsByClassName déjà évoqué dans Utillisez le DOM et Javascript comme un chef pour redéfinir le comportement des balises HTML.
Quelques exemples d’utilisation :
getElementsByClassName("info-links");
— tous les éléments avec la classe info-links,getElementsByClassName("col", "div", document.getElementById("container"));
— tous les élémentsdiv
contenus dans#container
et possédant la classe col,getElementsByClassName("pince-me pince-moi");
— tous les éléments avec les classes pince-me et pince-moi.
AMHA, l’utilité de la chose est surtout à chercher du côté de l’optimisation ou , parce tous les principaux framework JS gèrent très bien cela en mode simple. Encore un problème réglé.
Ca me rappelle surtout des vieux souvenirs et la surprise de tout développeur Javascript de ne pas avoir de getElementsByClass alors que le GetElementsById est (était ?) extrêmement utile.
Ce genre de fonctions peuvent aussi être utiles pour avoir un bon cas pratique de manipulation du DOM en JS. On dit souvent qu’il ne faut pas réinventer la roue mais parfois c’est utile de se pencher sur comment on fabrique des roues. En d’autres termes n’importe quel développeur doit toujours tôt ou tard au moins une fois réinventer une roue. Parce que ça permet de développer exactement ce que l’on souhaite sans se limiter à un framework et/ou à ses modules. Ca permet aussi indirectement d’approfondir ses compétences et de s’améliorer.
Je me réjouissez de voir cette fonction,
Jusqu’a voir que celle-ci ne fonctionner pas ….