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 :

Recuperer ID dynamiquement


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut Recuperer ID dynamiquement
    Bonjour,

    toujours en train de me prendre la tête en JS, je bloque sur quelque chose d'à priori simple, mais après avoir essayé quasiment 10 syntaxes différentes je ne trouve pas le moyen de lire dynamiquement tous les id d'une page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function () {
    	var bloc = document.getElementsByTagName('div');
     
    		for (var i = 0, c = bloc.length ; i < c ; i++) {
    			var bloc_id = document.getElementById(bloc);
     
                            alert(bloc_id);
                    }
    }
    J'ai simplifié le script car c'est ce passage scpécifique qui me pose problème donc ne cherchait pas l'utilité de faire une telle chose ^^
    Dans la finalité ce script doit donc afficher la valeur des ID de chaque DIV présente.
    J'ai essayé plusieurs techniques (this, .value) mais dans le meilleur des cas je n'obtiens qu'un affichage de "null" mais qui correspond bien au nombre de DIV dans la page (toujours ça de pris).
    Si quelqu'un pouvait m'aiguiller sur la bonne piste ça serait fort appréiciable

    Merci par avance

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    une erreur d'inattention surement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var bloc = document.getElementsByTagName('div');
    cette ligne retourne une nodeList dans la variable bloc, qui contient length éléments comme tu l'as appréhendé dans ta boucle, seulement voilà sur la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var bloc_id = document.getElementById(bloc);
    tu demandes l'ID de la liste, qui n'en n'a pas, et non celles des éléments
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function readAllId() {
      var bloc_id, bloc = document.getElementsByTagName('div');
      var i, nb = bloc.length; 
      for ( i = 0; i < nb ; i++) {
        bloc_id = document.getElementById( bloc[i]); // block[i] cible chaque élément
        alert(bloc_id);
      }
    }

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut
    J'avais bien essayer de cibler l'élément avec [i] mais sans résultats. J'ai malgré tout réessayait comme vous me l'avez présentez en déclarant mes variables avant ma boucle for au cas où (et pour plus de propreté) mais sans succès.

    EDIT : il fallait en fait utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bloc_id = bloc[i].getAttribute('id');
    .
    Merci de ton aide en tout cas !

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    bon soyons sérieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bloc_id = document.getElementById( bloc[i]); // block[i] cible chaque élément
    ne veut pas dire grand chose attendu que block[i] est déjà une référence à un élément


    un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bloc_id = bloc[i].id; // block[i] cible chaque élément
    est suffisant.

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut
    Posté 2min trop tard, enfin si je vais pouvoir enlever le getAttribute vu qu'à priori il n'est pas utile. Encore merci pour ton aide !

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

Discussions similaires

  1. [Tableaux] Recuperation de variable dynamiques
    Par zevince dans le forum Langage
    Réponses: 10
    Dernier message: 18/09/2006, 16h28
  2. [Conception] Recuperer des données dans un tableau dynamique
    Par Tartanjet dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/09/2006, 00h28
  3. Réponses: 2
    Dernier message: 21/09/2005, 13h35
  4. Réponses: 5
    Dernier message: 25/07/2005, 14h03
  5. Réponses: 2
    Dernier message: 12/01/2005, 10h18

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