Bonjour à tous, chers amis développeurs terriens
Je débute dans la manipulation des éléments en javascript à l'aide des méthodes parentNode, childNodes, et autres...
Mon problème ne constitue pas en l'utilisation de ces méthodes, mais dans la manière ou le DOM est interprété en javascript/HTML.
Par exemple, pour ce modèle :
Normalement, si je fais...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7<table> <tr id="mon_tr"> <td>Bonjour à tous</td> <td>cher amis</td> <td>développeurs terriens</td> </tr> </table>
... cela devrait me renvoyer "Bonjour à tous"
Code : Sélectionner tout - Visualiser dans une fenêtre à part alert(document.getElementById("mon_tr").firstChild.firstChild.nodeValue)
... malheureusement ce n'est pas le cas, car pour lui (enfin, je teste sous Mozilla, mais bon...), firstChild de "mon_tr" représente... les espaces entre <tr> et <td> !
Si je veux que le premier "enfant" de mon_tr soit le <td>, il faut que je supprime tous les espaces entres les 2 balises, ce qui s'avère un peu gênant pour la lisibilité du code...
C'est pour cela que je vous pause les questions suivantes (enfin...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4<table> <tr id="mon_tr"><td>Bonjour à tous</td><td>cher amis</td><td>développeurs terriens</td> </tr> </table>
) :
- Est il normal du point de vue javascript que les espaces entres des balises (sans contenu, juste des espaces) soit interprété comme un noeud de type texte ?
- Est il préférable de présenter le code de manière indentée ? Qu'en est t'il du DOM W3C ?
J'ai rencontré le problème hier et me demandait pourquoi je ne pouvais pas accéder aux TD facilement, et j'ai "bidouillé" pour que cela fonctionne, mais j'aimerai vraiment apporter une solution avec le meilleur rapport théorie/pratique sur la question
Merci d'avance à tous ceux qui auront eu la patience de lire d'une part et ceux qui répondront d'autre part !![]()
Partager