IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[DOM] innerHTML - Accès au contenu


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut [DOM] innerHTML - Accès au contenu
    Bonjour à tous,

    A l'aide de la propriété innerHTML, je renseigne le contenu d'un bloc <div> dynamiquement.

    Malheureusement ce contenu possède également d'autres blocs <div>. Or lorsque j'essaye d'atteindre ces blocs div, par exemple pour changer leur style, le navigateur déclare ne pas connaître l'élément.

    Ma question est donc la suivante : Il y a t il un moyen d'atteindre les éléments contenus par la propriété innerHTML d'un bloc ou est il nécessaire de remplacer innerHTML par des fonctions DOM propres ?

    Comme un bon exemple est souvent plus parlant. Voici ce que j'aimerai pourvoir faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementByID('monBlocRacine').innerHTML.getElementById('unBlocContenu')
    Il y a t il un équivalent qui permet de faire cela ?

  2. #2
    Membre expérimenté Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Par défaut
    si le bloc contenu a un id unique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('unBlocContenu')
    Si pas d'id ou si tu ne le connais pas
    utilise le dom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var obj1 = document.getElementByID('monBlocRacine');
    var enfants = obj.getElementByTagName("DIV");
    for (var i= 0; i<enfants.length; i++) {
      enfants[i].innerHTML // pour le texte
      enfants[i].getElementByTagName("DIV") // pour ls petit enfants
     // etc
    }

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    Merci Cpas2latarte,

    En effet le code suivant est la première chose qui m'est venu à l'esprit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('unBlocContenu')
    Malheureusement aucun moyen de le faire fonctionner. Je me suis alors rabattu trop rapidement sur une conclusion pour le moins attive : le problème vient d'innerHTML

    Ce matin j'ai repris mon code tranquillement en commençant d'ailleurs par un exemple basique utilisant simplement innerHTML. Je me suis alors aperçu que le problème ne venait pas d'innerHTML mais de mon imbrication de guillemets...

    Il n'y avait que trois niveau mais il faut croire que je devais avoir les neuronnes un peu saturés en cette fin de journée

    Quoiqu'il en soit merci pour ton aide, tout fonctionne bien à présent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] innerHTML et <table>
    Par djayp dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/02/2008, 13h21
  2. [DOM] innerHTML value input firefox
    Par Teufboy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/08/2007, 10h07
  3. Pb d'accès au contenu d'une HashMap
    Par michaeljeru dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 28/12/2006, 16h32
  4. Réponses: 7
    Dernier message: 29/12/2005, 10h01
  5. [DOM] Accès au contenu textuel d'un noeud avec DOM
    Par comexe2 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 16/07/2004, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo