Version compl�te: jsB@nk » Snippet » getElementsByClassName Deluxe Edition
URL: https://www.javascriptbank.com/getelementsbyclassname-deluxe-edition.html
Le langage JavaScript n'est pas nous fournir une fonction permettant d'obtenir des éléments par catégorie, que par id, le nom et le nom de balise. Cet Extrait de JavaScript permettra d'accomplir cela, et notamment avec les valeurs par défaut des arguments optionnels et de support pour de multiples classnames dans n'importe quel ordre. Il fonctionne dans Internet Explorer, Firefox, Opera, Safari et de Mac.
Version compl�te: jsB@nk » Snippet » getElementsByClassName Deluxe Edition
URL: https://www.javascriptbank.com/getelementsbyclassname-deluxe-edition.html
<script type="text/javascript">// Created by: Stuart Colville | http://muffinresearch.co.uk/function getElementsByClassName(strClass, strTag, objContElm) { strTag = strTag || "*"; objContElm = objContElm || document; var objColl = objContElm.getElementsByTagName(strTag); if (!objColl.length && strTag == "*" && objContElm.all) objColl = objContElm.all; var arr = new Array(); var delim = strClass.indexOf('|') != -1 ? '|' : ' '; var arrClass = strClass.split(delim); for (var i = 0, j = objColl.length; i < j; i++) { var arrObjClass = objColl[i].className.split(' '); if (delim == ' ' && arrClass.length > arrObjClass.length) continue; var c = 0; comparisonLoop: for (var k = 0, l = arrObjClass.length; k < l; k++) { for (var m = 0, n = arrClass.length; m < n; m++) { if (arrClass[m] == arrObjClass[k]) c++; if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) { arr.push(objColl[i]); break comparisonLoop; } } } } return arr;}// To cover IE 5.0's lack of the push methodArray.prototype.push = function(value) { this[this.length] = value;}</script>