Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
920 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Question concernant l' ID

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question concernant l' ID

n°1338276
juventino1​802
Posté le 03-04-2006 à 23:02:18  profilanswer
 

BOnjour, je voudrais savoir s'il etait possible d'avoir plusieurs elements avec le meme id
et si c'est possible, lorsque que je fait :

Code :
  1. objs=document.getElementById("p" );


 
comment faire une action sur tous les objs?
 
J'ai essayé cela mais ca ne marche pas:
 

Code :
  1. alert(objs.length);


je recois 'undefined'!


Message édité par juventino1802 le 03-04-2006 à 23:16:15
mood
Publicité
Posté le 03-04-2006 à 23:02:18  profilanswer
 

n°1338286
FlorentG
Unité de Masse
Posté le 03-04-2006 à 23:20:10  profilanswer
 

getElementById ne peut retourner qu'un (1, one, eins) élément... L'id doit être effectivement unique, c'est une règle de l'HTML.
 
Pour chopper plusieurs <p>, tu peux par contre utiliser leur class, genre :

<p class="pouet">sdfsdfsdf</p>
<p>xcvxcv</p>
<p class="pouet">sdfsdfsdfsdfsdf</p>
<p>xcvxc</p>


Puis pour récupérer tous les p de classe pouet, une petite fonction du style :

function getElementsByClass(searchClass,node,tag) {
  var classElements = new Array();
  if(node == null) {
    node = document;
  }
  if(tag == null) {
    tag = '*';
  }
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)" );
  for (var i = 0, j = 0; i < elsLen; i++) {
    if(pattern.test(els[i].className)) {
      classElements[j] = els[i];
      j++;
    }
  }
  return classElements;
}


 
Et hop :

var pList = getElementsByClass('pouet');

n°1338290
juventino1​802
Posté le 03-04-2006 à 23:23:18  profilanswer
 

Merci, c'est un peu trop compliqué pour ma toi ta fonction mais on va faire avec.

n°1338291
FlorentG
Unité de Masse
Posté le 03-04-2006 à 23:25:03  profilanswer
 

J'te rassure, elle est pas de moi ;) Mais globalement elle récupère toutes les éléments du document. Puis une petite expression régulière pour voir si l'attribut class contient la class que tu veux (vu que tu peux faire un truc du style :

<p class="pouet truc"></p>


donc le p a deux class : pouet et truc)

n°1338750
juventino1​802
Posté le 04-04-2006 à 14:35:17  profilanswer
 

Merci ca marche mieux tout d'un coup.
Sinon tu pourrai me dire pourquoi lorque je fait

Code :
  1. objs=document.form.elements['radio']


Je recois toujours undefined quand quand il n'y a qu'un bouton radio, mais quand il y en a plusieurs ca marche bien.


Message édité par juventino1802 le 04-04-2006 à 14:35:31
n°1338762
anapajari
s/travail/glanding on hfr/gs;
Posté le 04-04-2006 à 14:45:21  profilanswer
 

FlorentG a écrit :

getElementById ne peut retourner qu'un (1, one, eins) élément... L'id doit être effectivement unique, c'est une règle de l'HTML.


ça c'était bon

FlorentG a écrit :

Pour chopper plusieurs <p>, tu peux par contre utiliser leur class, genre :

<p class="pouet">sdfsdfsdf</p>
<p>xcvxcv</p>
<p class="pouet">sdfsdfsdfsdfsdf</p>
<p>xcvxc</p>


Puis pour récupérer tous les p de classe pouet, une petite fonction du style :

... une grosse bouse ...



 
Donc pour récupérer tous les elements <p> de ton document tu as la fonction getElementsByTagName qui te retourne un DOMNodeList ( c'est à dire un tableau de noeud). Un truc dans le genre:

Code :
  1. var paragraphes = document.getElementsByTagName('p');
  2. for (var i=0; i<paragraphes.length; i++){
  3. alert(paragraphes[i].innerHTML);
  4. }


 
edit: manquait une code autour du p dans le code

Message cité 1 fois
Message édité par anapajari le 04-04-2006 à 14:51:32
n°1338766
juventino1​802
Posté le 04-04-2006 à 14:48:41  profilanswer
 

c'est quoi un tagname?

n°1338773
anapajari
s/travail/glanding on hfr/gs;
Posté le 04-04-2006 à 14:54:25  profilanswer
 

juventino1802 a écrit :

c'est quoi un tagname?


 :sweat:  [:mlc]  :sweat:  
euuuuh bin Tag et Name collé ça donne tagName... Donc getElementsByTagName = get Elements By Tag Name = attrape les elements par leur nom de balise...

n°1338775
xtof_83
Freeride Spirit
Posté le 04-04-2006 à 14:55:31  profilanswer
 

C'est pour trouvé les éléments par balise ;)
 
balise = tag...
 
anapajari te le dis en plus

n°1338798
juventino1​802
Posté le 04-04-2006 à 15:08:24  profilanswer
 

Erreur : getElementsByTagName is not defined
Fichier source : http://127.0.0.1/Microcosmo2/scripts/checkbox.js
Ligne : objs=getElementsByTagName('p');  
Euh..

mood
Publicité
Posté le 04-04-2006 à 15:08:24  profilanswer
 

n°1338803
FlorentG
Unité de Masse
Posté le 04-04-2006 à 15:11:12  profilanswer
 

document.getElementsByTagName

n°1338818
juventino1​802
Posté le 04-04-2006 à 15:17:32  profilanswer
 

OK merci.

n°1338824
juventino1​802
Posté le 04-04-2006 à 15:20:49  profilanswer
 

Derniere question, enfin j'espere:
comment obtenir le 'class' d'un objet en javascript. il me semble que c'est un mot particulier.


Message édité par juventino1802 le 04-04-2006 à 15:22:05
n°1338831
anapajari
s/travail/glanding on hfr/gs;
Posté le 04-04-2006 à 15:25:26  profilanswer
 

className

n°1338843
juventino1​802
Posté le 04-04-2006 à 15:31:06  profilanswer
 

Merci, un grandmerci a tous.

n°1339200
gatsu35
Blablaté par Harko
Posté le 04-04-2006 à 22:19:00  profilanswer
 

FlorentG a écrit :

J'te rassure, elle est pas de moi ;) Mais globalement elle récupère toutes les éléments du document. Puis une petite expression régulière pour voir si l'attribut class contient la class que tu veux (vu que tu peux faire un truc du style :

<p class="pouet truc"></p>


donc le p a deux class : pouet et truc)


 
un className.toLowerCase().indexOf(ClassString)!=-1, c'est pas plus simple [:petrus dei]

Message cité 1 fois
Message édité par gatsu35 le 04-04-2006 à 22:19:40
n°1340313
FlorentG
Unité de Masse
Posté le 06-04-2006 à 10:45:16  profilanswer
 

gatsu35 a écrit :

un className.toLowerCase().indexOf(ClassString)!=-1, c'est pas plus simple [:petrus dei]


Non benêt, sinon ça va matcher sur :

<p class="apoueta">


alors que ça devrait pas ;);)

n°1340337
gatsu35
Blablaté par Harko
Posté le 06-04-2006 à 10:55:39  profilanswer
 

FlorentG a écrit :

Non benêt, sinon ça va matcher sur :

<p class="apoueta">


alors que ça devrait pas ;);)


Exact, bébé masklinn me l'a expliqué hier d'où une technique à la con que je ne sais plus où je l'ai mis


Message édité par gatsu35 le 06-04-2006 à 10:55:51
n°1340355
FlorentG
Unité de Masse
Posté le 06-04-2006 à 11:09:01  profilanswer
 

La technique, c'est ce que j'ai posté avant


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Question concernant l' ID

 

Sujets relatifs
question de sale noob : incrementer depuis une methodeQuestion sur le CMS joomla
Question interface graphique[Résolu - Question idiote] image survolée
Petite question comparateurUne nouvelle petite question sur les PREG
Petite question PHP/SQLQuestion à mille sous !
Petite questionQuestion a propos de requetes SQL
Plus de sujets relatifs à : Question concernant l' ID


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR