j'ai des li qui ont différentes clases possible, je cherche à récupérer
cette classe dans un script mais ça me dit "undefined" ???
je prend tous les li :
var lis=document.getElementsByTagName("li");
là pas de pb j'obtiens les 13 li dans mon html
après je souhaite les trier suivant que leur class contient "global" ou
"local".
je fais un boucle for
mais aussi bien lis[i].class que lis[i]["class"] sont à undefined ???
pourtant le DOM Inspector me donne bien un nodeName "class" avec les
bonnes valeurs...
et, chose encore + surprenante dans un li qui a la forme :
En l'absence de plus de précisions dans ton appel, déjà bien d'la chance que ça retourne qque chose !
essaie :
<p id="info"> <script type='text/javascript'> function voir() { var f = document.getElementsByTagName('LI'); var t = ""; for(var i=0; i<f.length; i++) { t += 'lien '+(+1+i)+' = '; var test = f[i], j=1; while(test.firstChild) { t += ' - child '+j+ ' : nodeName = '+test.firstChild.nodeName+' - attribus = '; t += (test.firstChild.attributes)? 'oui' : 'non'; t += ' - nodeValue = '+test.firstChild.nodeValue+'<br />t '; test = test.firstChild, j++; } t += '<br />'; } var pre = document.createElement('PRE'); pre.innerHTML = t; document.getElementById('info').appendChild(pre); } </script> <a href="#" onclick="voir();">VOIR</a> </p>
ou (puisque pas de copie/colle) démo : http://cjoint.com/?mAk2vRaESl
et regarde : http://fr.selfhtml.org/javascript/objets/node.htm
-- Stephane Moriaux et son (moins) vieux Mac déjà dépassé
pere.noel
ASM wrote:
En l'absence de plus de précisions dans ton appel, déjà bien d'la chance que ça retourne qque chose !
n'importe quoi !
firstChild n'est pas précis, c'est ça ?
que je sache c'est un noeud pas un attribut.
ma question portait d'abord sur l'attribut class d'un li, apparemment en js l'attribut class se lit par className et pas class, ce que je ne savais pas quand j'ai posé ma question.
pourtant l'attribut class et bien un noeud dans le dom...
En l'absence de plus de précisions dans ton appel, déjà bien d'la chance
que ça retourne qque chose !
n'importe quoi !
firstChild n'est pas précis, c'est ça ?
que je sache c'est un noeud pas un attribut.
ma question portait d'abord sur l'attribut class d'un li, apparemment en
js l'attribut class se lit par className et pas class, ce que je ne
savais pas quand j'ai posé ma question.
pourtant l'attribut class et bien un noeud dans le dom...
En l'absence de plus de précisions dans ton appel, déjà bien d'la chance que ça retourne qque chose !
n'importe quoi !
firstChild n'est pas précis, c'est ça ?
que je sache c'est un noeud pas un attribut.
ma question portait d'abord sur l'attribut class d'un li, apparemment en js l'attribut class se lit par className et pas class, ce que je ne savais pas quand j'ai posé ma question.
pourtant l'attribut class et bien un noeud dans le dom...
-- Père Noël
ASM
ASM wrote:
En l'absence de plus de précisions dans ton appel, déjà bien d'la chance que ça retourne qque chose !
n'importe quoi !
Si tu veux
firstChild n'est pas précis, c'est ça ?
pas extrèmement, mais, en effet c'est curieux que ça ne renvoie pas "HTMLAElement" comme ça le fait pour les LI par exemple (HTMLLIElement)
http://cjoint.com/?mAn3qROJSw (cliquer 'VOIR')
que je sache c'est un noeud pas un attribut.
certes
ma question portait d'abord sur l'attribut class d'un li, apparemment en js l'attribut class se lit par className et pas class, ce que je ne savais pas quand j'ai posé ma question.
et comme tu y avais répondu toi-même ...
pourtant l'attribut class et bien un noeud dans le dom...
<a href="#" onclick="alert(document.getElementsByTagName('LI')[2].getAttribute('class'));"> class via DOM </a> <a href="#" onclick="alert(document.getElementsByTagName('LI')[2].className);"> class via JS 1.5 aidé du DOM1 </a>
Ne pas confondre le JS pur DOM et le JS à la mode de nos grand' mères :-)
-- Stephane Moriaux et son (moins) vieux Mac déjà dépassé
En l'absence de plus de précisions dans ton appel, déjà bien d'la chance
que ça retourne qque chose !
n'importe quoi !
Si tu veux
firstChild n'est pas précis, c'est ça ?
pas extrèmement,
mais, en effet c'est curieux que ça ne renvoie pas "HTMLAElement"
comme ça le fait pour les LI par exemple (HTMLLIElement)
http://cjoint.com/?mAn3qROJSw
(cliquer 'VOIR')
que je sache c'est un noeud pas un attribut.
certes
ma question portait d'abord sur l'attribut class d'un li, apparemment en
js l'attribut class se lit par className et pas class, ce que je ne
savais pas quand j'ai posé ma question.
et comme tu y avais répondu toi-même ...
pourtant l'attribut class et bien un noeud dans le dom...
<a href="#"
onclick="alert(document.getElementsByTagName('LI')[2].getAttribute('class'));">
class via DOM
</a>
<a href="#"
onclick="alert(document.getElementsByTagName('LI')[2].className);">
class via JS 1.5 aidé du DOM1
</a>
Ne pas confondre le JS pur DOM et le JS à la mode de nos grand' mères :-)
--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé
En l'absence de plus de précisions dans ton appel, déjà bien d'la chance que ça retourne qque chose !
n'importe quoi !
Si tu veux
firstChild n'est pas précis, c'est ça ?
pas extrèmement, mais, en effet c'est curieux que ça ne renvoie pas "HTMLAElement" comme ça le fait pour les LI par exemple (HTMLLIElement)
http://cjoint.com/?mAn3qROJSw (cliquer 'VOIR')
que je sache c'est un noeud pas un attribut.
certes
ma question portait d'abord sur l'attribut class d'un li, apparemment en js l'attribut class se lit par className et pas class, ce que je ne savais pas quand j'ai posé ma question.
et comme tu y avais répondu toi-même ...
pourtant l'attribut class et bien un noeud dans le dom...
<a href="#" onclick="alert(document.getElementsByTagName('LI')[2].getAttribute('class'));"> class via DOM </a> <a href="#" onclick="alert(document.getElementsByTagName('LI')[2].className);"> class via JS 1.5 aidé du DOM1 </a>
Ne pas confondre le JS pur DOM et le JS à la mode de nos grand' mères :-)
-- Stephane Moriaux et son (moins) vieux Mac déjà dépassé