[JAVASCRIPT] Bug IE - getelementbyid
Résolu
lingus
-
lingus -
lingus -
Bonjour tout le monde,
J imagine que le problème a déjà été posé des milliers de fois mais je trouve pas de solution à celui-ci.
J'ai donc un tableau en HTML qui a un id="aloha". Quand je veux accéder à ce tableau en javascript, sous firefox il reconnait bien mon tableau et il peu y accéder (alert donne "[object HTML tableElement]").
Mais sous IE(7) il ne reconnait pas l'objet (alert donne "[object]").
Je precise qu'il n'y aucun autre lement dans ma page qui a "aloha" pour id ou name, et que je n ai aucun meta tage de ce nom non plus.
Quelqu'un aurait il une solution ?
code javascript :
code HTML:
J imagine que le problème a déjà été posé des milliers de fois mais je trouve pas de solution à celui-ci.
J'ai donc un tableau en HTML qui a un id="aloha". Quand je veux accéder à ce tableau en javascript, sous firefox il reconnait bien mon tableau et il peu y accéder (alert donne "[object HTML tableElement]").
Mais sous IE(7) il ne reconnait pas l'objet (alert donne "[object]").
Je precise qu'il n'y aucun autre lement dans ma page qui a "aloha" pour id ou name, et que je n ai aucun meta tage de ce nom non plus.
Quelqu'un aurait il une solution ?
code javascript :
function Test() { var table = document.getElementsByName('aloha'); alert(table); }
code HTML:
<table id="aloha"> <tr> <td><a href="javascript:;" onclick="Test();">[+] Test</a></td> </tr> </table>
A voir également:
- [JAVASCRIPT] Bug IE - getelementbyid
- Telecharger javascript - Télécharger - Langages
- Ie tab - Télécharger - Outils pour navigateurs
- Bug chromecast - Guide
- Bug localisation snap ✓ - Forum Snapchat
- Iptv bug forum ✓ - Forum Box et Streaming vidéo
4 réponses
J'ai enfin identifié mon véritable bug. Ca pourra peut etre aider les débutants en DOM comme moi.
En fait chose que je ne savais pas, sous IE lorsque l'on veut céer un tableau (<table>) en javascript il faut rajouter la balise <tbody>.
un petit lien qui explique ca mieux que moi : http://blognote-info.com
En fait chose que je ne savais pas, sous IE lorsque l'on veut céer un tableau (<table>) en javascript il faut rajouter la balise <tbody>.
un petit lien qui explique ca mieux que moi : http://blognote-info.com
Erreur de frappe, j'étais en plein test c'est pas getElementsByName() mais bien getElementById() que j'utilise.
Désolé
Désolé
Bonsoir
Non, y'a pas de bug. C'est juste qu'IE ne type pas vraiment les objets et affiche toujours [Object]
La preuve :
Donc on parcours bien l'arbre DOM pour l'élément table aloha
Voilà
Non, y'a pas de bug. C'est juste qu'IE ne type pas vraiment les objets et affiche toujours [Object]
La preuve :
<html> <head> <script type="text/javascript"> <!-- function space(size) { var str=""; for (var i = 0; i < size; i++) { str+=" "; } return str; } function getChildNodesInfo(node, level) { if (level==undefined) level = 0; // Parcours des noeuds enfants var txt = ""; var i = 0; while (node) { txt = "- "+space(level*3)+"node["+i+"].nodeType = "+node.nodeType+"\n"+ "- "+space(level*3)+"node["+i+"].nodeName = "+node.nodeName+"\n"+ "- "+space(level*3)+"node["+i+"].nodeValue = "+node.nodeValue+"\n"; if (node.firstChild) { level++; txt = txt +"\n"+getChildNodesInfo(node.firstChild,level); } node = node.nextSibling; } return txt; } function Test() { var table = document.getElementById('aloha'); // Parcours de tous les noeuds de l'élément DOM : gaffe ça peut planter IE ! alert(getChildNodesInfo(table,1)); } //--> </script> </head> <body> <table id="aloha"> <tr> <td><a href="javascript:;" onclick="Test();">[+] Test</a></td> </tr> </table> </body> </html>
Donc on parcours bien l'arbre DOM pour l'élément table aloha
Voilà