11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Je cherche à accéder à l'aide de javascript à des éléments contenus dans la propriété innerHTML d'un élément racine. Cela est - il possible ou est - il nécessaire d'abandonner innerHTML pour des fonctions respectant l'api DOM ?

Voici une illustration de mon problème pour que ça soit plus clair :

Je possède une page HTML dont le seul élément du corps de la page est une balise div. Cette balise est "remplie" dynamiquement à l'aide de sa propriété innerHTML.

Malheureusement ce qui est passé en paramètre à innerHTML est une chaine comportant elle même d'autres blocs (par exemple des balises div).

Mon souci est d'accéder aux éléments contenus à l'aide de javascript afin par exemple de changer dynamiquement leur style.

Typiquement, j'aimerai pouvoir faire quelque chose de la sorte :
 document.getElementByID('monBlocRacine').innerHTML.getElementById('unBlocContenu') 


Evidemment ce code ne marche pas mais il y a t il un équivalent qui permettrait de faire cela ?
Modifié par Heliodromel (05 Sep 2007 - 10:39)
Merci pour ta réponse Switche.

Malheureusement, cette commande est bien évidemment la première que j'ai testée...sans résultats.

Mon cas est probablement un peu spécifique puisque j'utilise innerHTML pour générer un conteneur comportant des onglets dont le contenu est dabord traité côté server (JSP).

Le script de ce conteneur n'étant pas de moi (http://www.javascriptfr.com/codes/MENU-ONGLETS-AVEC-SCROLLBAR_31833.aspx), il se peut qu'il y ait certaines subtilités qui m'échappent et qui viennent bloquer l'accès à l'arborescence du contenu.

Il est vrai que je me suis immédiatement focalisé sur innerHTML alors que le problème n'était peut être pas à ce niveau. Un bon exemple basique m'aurait permis de voir ça immédiatement... Bref je tirerai cette histoire au clair demain au bureau.

Quoiqu'il en soit merci pour avoir prété attention à ma demande. Je vous tiens au courant de la suite des évènements...
Salut à tous,

bon et bien mon problème est résolu.

Effectivement rien à voir avec innerHTML, mon problème venait simplement d'une mauvaise imbrication de guillemets.... erreur vraiment bête, dès fois il vaut mieux faire une pause que de s'acharner Smiley lol