La méthode GetElementsByClassName a été ajoutée dans DOM3, mais d'autres versions autres que IE9 et 10 ne sont pas prises en charge, ce qui est une douleur!
À l'heure actuelle, cela peut être résolu. Il s'agit de déterminer si le navigateur prend en charge cette méthode. S'il est pris en charge, cela n'a pas d'importance; S'il n'est pas pris en charge, ajoutez la méthode GetElementsByClassName à l'objet Document. Cette méthode d'écriture a un avantage, c'est-à-dire que vous n'avez pas besoin de modifier le code, qu'il existe ou non des fonctions natives.
Certaines personnes sur Internet définissent directement une fonction GetElementsByClassName, mais de cette manière, vous devez réécrire tous les documents.GetElementsByClassName dans le code pour getElementsByClassName. C'est un peu gênant et pas universel.
La méthode suivante prend parfaitement prend en charge la rédaction de documents:
if (! document.getElementsByClassName) {document.getElementsByClassName = function (className, élément) {var enfants = (élément || document) .getElementsByTagName ('*'); var elements = new Array (); for (var i = 0; i <enfants.length; i ++) {var child = enfants [i]; var classNames = child.classname.split (''); for (var j = 0; j <classNames.length; j ++) {if (classNames [j] == className) {elements.push (enfant); casser; }}} Return Elements; };}