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 :

recupération attribut name


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 122
    Points : 101
    Points
    101
    Par défaut recupération attribut name
    Voila je souhaite récupérer mes div qui ont un nom donnée j'ai donc songé a getElementsByName mais IE n'arrive pas à gérer cette fonction correctement...
    Donc j'ai penser récupérer toutes les div grace a getElementsByTagName et ensuite chercher le nom ainsi

    var div = getElementsByTagName("div");
    div[0].name;

    mais cela ne fonction que sous IE si quelqu'un sait comment faire une fonction qui fonctionerais sous les deux navigateur sans avoir a faire une gestion totalemetn séparé sa serait bien (par exemple l'equivalent du .name sur firefox)

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    les 2 solutions devraient fonctionner correctement sur IE et FF

    Quel est le problème ?
    On peut voir le code (HTML + JS) ?

    A+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Points : 196
    Points
    196
    Par défaut
    Je ne suis pas certain que la balise DIV supporte l'attribut 'name'. Pourquoi ne pas utiliser ID?

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par nabab Voir le message
    Je ne suis pas certain que la balise DIV supporte l'attribut 'name'. Pourquoi ne pas utiliser ID?
    +1

    ne supporte plus ...

    Et suivant le doctype ....

    A+

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    la propriété "name" n'est pas une propriété d'une div , utilise une class css ou un id

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Points : 430
    Points
    430
    Par défaut
    Attribues une class à tes divs que tu veux sélectionner et après tu utilises cette classe pour les retrouver.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    div=document.getElementsByTagName('div');
    for (i=0;i<div.length;i++)
    {
         if(div[i].className=='le_nom_de_ta_classe'){divselection.push(div[i])};
    }
    Ça peut marcher.

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par tusssss Voir le message
    Attribues une class à tes divs que tu veux sélectionner et après tu utilises cette classe pour les retrouver.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    div=document.getElementsByTagName('div');
    for (i=0;i<div.length;i++)
    {
         if(div[i].className=='le_nom_de_ta_classe'){divselection.push(div[i])};
    }
    Ça peut marcher.
    Ca va marcher.
    Sauf qu'une class sert à la mise en forme. Mieux vaut éviter de détourner les propriétés de leur fonction initiale
    Un ID sert à ... identifier et serait donc préférable.
    En les formatant correctement (ex : "div_"+compteur) tu pourras les parcourir de la même manière (document.getElementsByTagName('div')) , et identifier ceux que tu veux garder grâce à leur préfixe (div_)

    A+

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Points : 430
    Points
    430
    Par défaut
    Entièrement d'accord, cependant, tout dépend de l'application, si on veut regrouper tous les divs, peut-être ont-ils des propriétés css communes, alors pourquoi ne pas profiter de cela pour utiliser une class et se faciliter le travail (c'est à dire ne pas passer par un compteur pour assurer l'unicité de l'identifiant)

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Points : 196
    Points
    196
    Par défaut
    Maintenant si tu ne veux pas utiliser un ID unique car ton but est d'identifier un groupe de DIV, tu peux aussi leur donner un parametre completement arbitraire genre <div mon_attribut="1">, passer tes DIV en revue, et vérifier si getAttribute('mon_attribut') est défini ou a une certaine valeur.

  10. #10
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    moi je dis on vote

    + 1 pour les id

    et les class peuvent être très utiles dans le cas ou l'on ne connais pas le nombre d'objets à l'avance ...

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Points : 196
    Points
    196
    Par défaut
    Je crois que ma solution est bonne pour XHTML mais pas pour HTML. Je viens de poster un message sur un forum américain pour vérifier.

    Sinon, si y'a plusieurs éléments: CSS et si un seul: ID

    PS: Ce serait pas mal si la personne qui a posté suivait la conversation

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 122
    Points : 101
    Points
    101
    Par défaut
    Bonjour j'était en pause pour le midi ^^
    mais j'ai bien tout lu et merci pour toutes ces information.
    Je pensais que les name pouvait être utilisé sur toutes les balises.
    Je pense donc puisque j'ai plusieur élément que je vais passé par la class pour éviter d'utiliser des compteur inutile.


    merci encore ^^

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

Discussions similaires

  1. recupération attribut name js
    Par mimilemoose dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/02/2010, 11h08
  2. [DOM] Changement de l'attribut name dynamique
    Par Metal3d dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/06/2008, 16h39
  3. Pb attribut name pour un form
    Par mariemor64 dans le forum Struts 1
    Réponses: 2
    Dernier message: 04/07/2006, 12h12
  4. Balise form - problème attributs name et type
    Par michihala dans le forum Struts 1
    Réponses: 3
    Dernier message: 03/04/2006, 17h17
  5. xhtml ->xml xsl:attribute name+not valid
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 14/06/2005, 07h27

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