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 :

Traiter plusieurs id de m�me nom


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre exp�riment�
    Homme Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    235
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 235
    Par d�faut Traiter plusieurs id de m�me nom
    Salut,

    Dans ma page, j'ai plusieurs balises div dont certaines ont le m�me id. J'aimerais effectuer un traitement sur chaque balise de m�me id. Si je fais un getElementById(), le traitement s'effectue uniquement sur la premi�re balise trouv�e, comment faire pour que cela se d�roule sur toutes les balises de m�me id ? Je suppose qu'il y a une boucle sur un tableau dans DOM ou qqchose de ce genre.

    Merci de m'aider.

  2. #2
    Membre �m�rite
    Inscrit en
    Janvier 2004
    Messages
    633
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Par d�faut
    Les id doivent �tre unique !!
    il faut trouver un autre crit�re : les noms peut-�tre

  3. #3
    Membre exp�riment�
    Homme Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    235
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 235
    Par d�faut
    Oui je sais que g�n�ralement c'est unique, mais je pr�f�re manipuler les id que les noms, et dans mon cas je g�n�re des id � la vol�e. Mon id repr�sente une sorte d'objet qui peut comprendre plusieurs balises div, de m�me id.

    Bon j'ai cod� un truc qui marche a peu pr�s:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    var objs = document.all[object.id];
     
    for(i=0; i<objs.length; i++) {
      objs[i].className = class_name;
    par contre je pr�fererais utiliser des getElementById plut�t que le document.all, mais celui-ci me retourne un tableau d'objet de m�me id.

    Si on peut faire la m�me chose avec les names, je suis preneur.

  4. #4
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    Un id doit �tre unique. Sinon le comportement du navigateur est incertain.

    pour l'attribut name : getElementsByName(name)

  5. #5
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    var objs = document.getElementsByName(object.name);
     
    for(i=0; i<objs.length; i++) {
      objs[i].className = class_name; 
    }

  6. #6
    Membre exp�riment�
    Homme Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    235
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 235
    Par d�faut
    Ok merci, j'essaie le getElementsByName(), mais ils ne me renvoie rien du tout pour le moment, objs.length est toujours � 0.

  7. #7
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    n'oublie pas de mettre l'attribut name � tes �l�ments

  8. #8
    Membre exp�riment�
    Homme Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    235
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 235
    Par d�faut
    Justement, c'est fait. Tiens j'ai fais un petit exemple, je me suis peut-�tre gour� quelquepart:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
    <script type="text/javascript">
    function test(object)
    {
      var objs = document.getElementsByName(object.name);
      alert(objs.length);
    }
    </script>
      </head>
      <body>
        <div name="toto" onMouseOver="test(this)">toto</div>
        <div name="toto" onMouseOver="test(this)">toto</div>
        <div name="titi" onMouseOver="test(this)">titi</div>
      </body>
    </html>

  9. #9
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    sinon tu nomme rationnellement tes objets :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    id="objet1"
    id="objet2"
    puis tu traites avec
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     getElementById('objet'+i)
    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 !

  10. #10
    Membre exp�riment�
    Homme Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    235
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 235
    Par d�faut
    ce serait une solution mais en fait tous les identifiants de mes objets finissent d�j� par un nombre.

    Si quelqu'un arrive a faire marcher juste le code que j'ai mis au dessus, je suis preneur car je ne vois pas ou est l'erreur. Cela marche avec getElementsById mais pas avec getElementsByName.

  11. #11
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    Citation Envoy� par Steph82
    tous les identifiants de mes objets finissent d�j� par un nombre.
    exemples ?

  12. #12
    Membre �m�rite
    Inscrit en
    Janvier 2004
    Messages
    633
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Par d�faut
    Le getElementByName n'est pas un truc sp�cifique netscape ?

  13. #13
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    getElementsByName

    non c'est crossbrowser
    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 !

  14. #14
    Membre �m�rite
    Inscrit en
    Janvier 2004
    Messages
    633
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Par d�faut
    Ok moi jusqu'� pr�sent j'en ai jamais eu besoin mais c'est bon a savoir au cas ou...

  15. #15
    Membre exp�riment�
    Homme Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    235
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 235
    Par d�faut
    Citation Envoy� par Mr N.
    Citation Envoy� par Steph82
    tous les identifiants de mes objets finissent d�j� par un nombre.
    exemples ?
    exemple voiture1, voiture2,...

  16. #16
    Membre exp�riment�
    Homme Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    235
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 235
    Par d�faut
    en clair:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html> 
      <head> 
    <script type="text/javascript"> 
    function test(object) 
    { 
      var objs = document.getElementsByName(object.name); 
      alert(objs.length); 
    } 
    </script> 
      </head> 
      <body> 
        <div id="v1" name="voiture1" onMouseOver="test(this)">voiture 1</div> 
        <div id="v2" name="voiture1" onMouseOver="test(this)">voiture 1</div> 
        <div id="v3" name="voiture2" onMouseOver="test(this)">voiture 2</div> 
      </body> 
    </html>

  17. #17
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
     
    	<style type="text/css">
       div {width:200px;
       		 background-color:gray;
       		 }
    		</style>  
    <script type="text/javascript">
    function test(obj)
    {
      var compteur=0;	
      var objs = document.getElementsByTagName('div');
     for(i=0;i<objs.length;i++){
     							compteur+=(objs[i].id.substr(0,2)==obj.id.substr(0,2))?1:0;			
      						}
      alert(compteur)						
    }
    </script>
      </head>
      <body style="text-align:center;">
        <div id="v1_1"  onMouseOver="test(this)" >voiture 1</div><br/>
        <div id="v1_2"  onMouseOver="test(this)">voiture 1</div><br/>
        <div id="v2"    onMouseOver="test(this)">voiture 2</div>
      </body>
    </html>
    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 !

  18. #18
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    Citation Envoy� par Steph82
    exemple voiture1, voiture2,...
    Je comprends pas trop... tes id ils sont uniques ou pas ???
    Quel est le crit�re d'identification d'un div ?

  19. #19
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    les id DOIVENT �tre uniques !!!!
    le div n'accepte pas de name ...

    => il faut nommer tes divs rationnellement ...
    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 !

  20. #20
    Membre exp�riment�
    Homme Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    235
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 235
    Par d�faut
    Citation Envoy� par Mr N.
    Citation Envoy� par Steph82
    exemple voiture1, voiture2,...
    Je comprends pas trop... tes id ils sont uniques ou pas ???
    Quel est le crit�re d'identification d'un div ?
    Dans l'exemple oui:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    <div id="v1" name="voiture1" onMouseOver="test(this)">voiture 1</div> 
        <div id="v2" name="voiture1" onMouseOver="test(this)">voiture 1</div> 
        <div id="v3" name="voiture2" onMouseOver="test(this)">voiture 2</div>
    J'ai trois id unique v1, v2 et v3 mais v1 et v2 correspondent au m�me objet: voiture 1, et v3 pour la voiture 2. En claire je devrais avoir un message alert m'indiquant 2 si je passe le curseur sur voiture 1 et, 1 si le curseur passe sur voiture 2.

    SpaceFrog > Merci, �a marche. Tu utilises les id comme tu l'as dit, mais je pr�fererais utiliser les attributs name, ca �viterait de faire le traitement de chaine. Si je n'arrive pas a utiliser les name, ce qui est bizarre, j'utiliserais ton exemple.

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. @GenericGenerator : plusieurs fois le m�me nom
    Par CinePhil dans le forum Hibernate
    R�ponses: 0
    Dernier message: 15/10/2010, 14h35
  2. R�ponses: 2
    Dernier message: 06/03/2010, 23h36
  3. R�ponses: 3
    Dernier message: 28/10/2009, 16h01
  4. Fermeture de plusieurs formulaires de m�me nom
    Par Developpeur19 dans le forum VB.NET
    R�ponses: 10
    Dernier message: 22/09/2009, 18h48
  5. Supprimer plusieurs fichiers du m�me nom en une ligne de commande
    Par Orbiplanax dans le forum Administration syst�me
    R�ponses: 4
    Dernier message: 12/09/2007, 18h25

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