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] getElementById en arborescence ?


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Par défaut [DOM] getElementById en arborescence ?
    Bonjour à tous,
    je ne trouve nulle part de réponse à ma question de DOM-débutant :
    ça me paraît fou, mais je n'arrive pas à atteindre un objet en enchaînant 2 getElementById !
    • le html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <body>
    <div id="zone">
    	<a href="#" id="bouton">fermer</a>
    </div>
    </body>
    • le script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    window.onload = onloadWin
    function onloadWin(){
    alert(document.getElementById('zone').getElementById('bouton').innerHTML)
    }
    le contenu de l'alert n'est pas reconnu…
    ce serait impossible ??!

    merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    un id étant unique sur une page, je ne vois pas l'intéret de l'attaquer en arborescence ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    getElementById est une fonction propre au document, tu ne peux pas l'appliquer sur d'autres objets.

    Spaf : sinon l'intérêt pourrait être de localiser la recherche à l'intérieur d'un noeud (valable s'il y a beaucoup d'éléments dans ce noeud auxquels on veut accéder par id)

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    a ce moment là il faudrait faire une routine recursive de scan des childNodes avec test de leur id ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre chevronné Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Par défaut
    Avec getElementsByName ca marche mais il faut travailler avec les name et plus les id.

    Effectivement getElementById par contre est uniquement portée par l'objet document.

  6. #6
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Citation Envoyé par Bezout Voir le message
    Avec getElementsByName ca marche mais il faut travailler avec les name et plus les id.

    Effectivement getElementById par contre est uniquement portée par l'objet document.
    ceci dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name obtient ou définit l'attribut name d'un objet DOM. Il s'applique uniquement aux éléments suivants : anchor, applet, form, frame, iframe, image, input, map, meta, object, option, param, select et textarea.
    + pour info : voir FAQ et contribution pour le soucis que pose le name dynamique avec IE

  7. #7
    Membre chevronné Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Par défaut
    En même temps la demande est un peu bête car :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('zone').getElementById('bouton').innerHTML
    au final il veut faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('bouton').innerHTML
    En partant du principe qu'un id est unique sur toute la page !!

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Par défaut
    merci à tous pour vos réponses ; je m'aperçois que ma question était bancale !…
    • en butant sur ce problème, je me suis empressé d'oublier qu'il partait d'une mauvaise utilisation de l'id : j'avais en fait créé un peu vite plusieurs div avec un "bouton"… de même id ! quand on résoud de gros problèmes d'un côté, on s'emballe parfois un peu d'un autre !!…
    • je vais tout de même devoir trouver une méthode de localisation car, effectivement, mes div vont contenir plusieurs objets analogues et uniques…
    • je devrais pouvoir m'en sortir sans name !…
    • je suis quand même bien content d'apprendre que getElementById ne s'applique qu'à document
    merci encore !

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

Discussions similaires

  1. [DOM] getElementById ne connaissant que la fin de l'ID
    Par marie253 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/08/2008, 16h03
  2. [DOM] GetElementByID. Ne trouve pas l'élément
    Par Titi41 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 26/06/2008, 10h57
  3. [DOM] getElementById + innerHTML avec IE
    Par polemoss dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 10/01/2008, 12h55
  4. [DOM] getElementById et InnerHtml
    Par lekunfry dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/08/2007, 08h25

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