11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

je cherche un moyen de savoir si un élément html est descendant d'un autre. existe t-il une fonction javascript qui fait cela. Faut-il nécessairement utiliser une boucle et la propriété parentNode ?

Une autre méthode serait de faire comme cela :


if(element1.getElementById("id de l'élément 2"))


mais cela n'a pas l'air possible. il semble que ne puisse appliquer getElementById que sur l'objet document, non ?

merci d'avance.
Modifié par mathmax (05 Mar 2007 - 11:22)
mathmax a écrit :
Est ce qu'il y a une notion d'héritage en javascript des objets ?
Il y a la notion de prototype.

Mais qu'est-ce que ça a à voir avec ta question d'origine ?
Oui excuses-moi, je pensais que l'objet document devrait hériter de l'objet élément html et c'est ce dernier qui devrait porter la méthode GetElementById. Comme ça les 2 auraient la méthode GetElementById(). Ca serait logique non ?
Pourquoi n'essaierais-tu pas avec des appels itérés à parentNode jusqu'à tomber sir l'élément racine? À chaque niveau, après avoir testé le tagName et vérifié que ce n'est pas body, noframes ou html, tu vérifies l'id de ton élément...
Gilles a écrit :
Pourquoi n'essaierais-tu pas avec des appels itérés à parentNode jusqu'à tomber sir l'élément racine? À chaque niveau, après avoir testé le tagName et vérifié que ce n'est pas body, noframes ou html, tu vérifies l'id de ton élément...
Le problème était justement de savoir s'il existait une méthode alternative à cette solution, d'après ce que j'ai compris. Mais bon, c'est vrai que c'est plutôt facile à implémenter. Par contre, plutôt que de tester le tagName, il est nettement plus simple d'attendre tout simplement que le noeud sur lequel on itère n'ait pas de parentNode.
Modifié par Julien Royer (05 Mar 2007 - 11:09)
Le problème était justement de savoir s'il existait une méthode alternative à cette solution, d'après ce que j'ai compris. [code]
oui tu as bien compris. Smiley cligne