Bonjour,
afin d'être compatible avec plusieurs navigateurs j'ai trouvé cette fonction sur intenret : getElementsByClassName() pour sélectionner des éléments d'une page html par leur class.
J'ai créé ce ode html pour l'exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function getElementsByClassName(className, elm) { var selection = new Array(); var regex = new RegExp("\\b" + className + "\\b"); if(!elm) { elm = document; } else if(typeof(elm) == "string") { elm = document.getElementById(elm); } var elmts = elm.getElementsByTagName("*"); for(var i=0; i<elmts.length; i++) { if(regex.test(elmts[i].className)) { //alert(elmts[i]) selection.push(elmts[i]); } } return selection; }
Lorsque je fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <p class="ro">sqdfs <strong>dfkls <a href="#" class="titi">jfl</a></strong> kdj sdjfksdjf <a href="#" class="titi">sdkjflsj</a> dfsd</p> <p id="bidule" class="coco" style="left:13px">sqdfs <strong>dfklsjfl</strong> kdj sdjfksdjf <a href="#" class="titi">hoho</a> dfsd</p>
Il me retourne : [object HTMLParagraphElement], ce qui me parait normal. Par contre, lorsque je fait ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part alert(getElementsByClassName('ro'));
Code : Sélectionner tout - Visualiser dans une fenêtre à part alert(getElementsByClassName('titi'));
Qui sont des classes mise sur les liens, il me retourne la valeur de "href" : http://domjs/#,http://domjs/#,http://domjs/#
J'ai du faire une erreur, mais je n'arrive pas à voir ou et ça fait 4H que je suis en train d'essayer de comprendre.
Pouvez-vous m'aider ?
Merci.
Bien cordialement.
Partager