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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Help JS je deviens fou ! Compter div ayant une classe spécifique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Help JS je deviens fou ! Compter div ayant une classe spécifique

n°2028183
vanquishV1​2
se coucher tard nuit
Posté le 10-10-2010 à 23:27:55  profilanswer
 

Bonjour,
 
Je ne capte rien, ce script est censé compter les div ayant pour classe "menu" mais... il ne marche pas :

Code :
  1. var divs = document.getElementsByTagName("div" ).length;
  2.         for(i = 0; i <= divs; i++){
  3.         if(document.getElementsByTagName("div" )[i].className == "menu" )
  4.             {
  5.             j++;
  6.             }
  7.         }
  8.         alert("Nombre de div correspondant : " + j);

pourquoi :??:

mood
Publicité
Posté le 10-10-2010 à 23:27:55  profilanswer
 

n°2028241
cetplus
Wazard dans l'ombre
Posté le 11-10-2010 à 09:25:04  profilanswer
 

Woua, je sèche aussi. C'est censé te rassurer.
J'ai essayé tout plein de code et de possibilité mais je n'y arrive pas.
Je connais ça :
javascript:var Html,i;var Obj =document.getElementsByTagName('div');for ( i=0; i < Obj.length; i++){Html += Obj[i].innerHTML;}document.write(Html);

 

Mais même avec ça, j'y arrive pas. Je suis donc intéressé par la réponse :)


Message édité par cetplus le 11-10-2010 à 09:29:01
n°2028245
vanquishV1​2
se coucher tard nuit
Posté le 11-10-2010 à 09:32:15  profilanswer
 

Merci  :cry:
Je comprends vraiment pas ce qui coince. Donc je suis obliger d'indiquer à la main le nombre de div, c'est la loose. Si quelqu'un a la solution...


Message édité par vanquishV12 le 11-10-2010 à 09:32:25
n°2028248
cetplus
Wazard dans l'ombre
Posté le 11-10-2010 à 09:37:52  profilanswer
 

Excuse moi, je viens de trouver : (facilement, hein ?? :))

Code :
  1. <script language="Javascript">
  2. <!--
  3. var Html,i;
  4. var Obj =document.getElementsByTagName('div');
  5. var s=0;
  6. for ( i=0; i < Obj.length; i++){
  7. var s=Number(s) + Number(1);
  8. }
  9. alert("Nombres de div : "+s);
  10. //-->
  11. </script>
 

Ensuite il faut ajouter les conditions. Je reviens ...

 

Ok voilà :

Code :
  1. <p><div class="man">a</div>
  2. <p><div class="man"></div>
  3. <p><div class="man"></div>
  4. <p><div class="man"></div>
  5. <p><div class="man"></div>
  6. <p><div class="youpi"></div>
  7. <p><div class="youpi"></div>
  8. <p><div class="youpi"></div>
  9. <p><div class="youpi"></div>
  10. <p><div class="youpi"></div>
  11. <p><div class="youpi"></div>
  12. <p><div class="youpi"></div>
  13. <script language="Javascript">
  14. <!--
  15. var Html,i;
  16. var Obj =document.getElementsByTagName('div');
  17. var s=0;
  18. for ( i=0; i < Obj.length; i++){
  19. if (Obj[i].className == "man" )
  20. {
  21. var s=Number(s) + Number(1);
  22. }
  23. }
  24. alert("Nombres de div : "+s);
  25. //-->
  26. </script>


Par contre pour que le script fonctionne, il faut ajouter une valeur dans une des div.
Tu peux toujours là cacher en indiquant :
<p><div class="man"><textarea style="display:none">a</textarea></div>


Message édité par cetplus le 11-10-2010 à 09:46:33
n°2028251
vanquishV1​2
se coucher tard nuit
Posté le 11-10-2010 à 09:49:53  profilanswer
 

Merci mais je n'ai pas compris ce que ne fonctionnait pas dans mon code!

n°2028253
cetplus
Wazard dans l'ombre
Posté le 11-10-2010 à 09:53:45  profilanswer
 

D'abord : var divs = document.getElementsByTagName("div" ).length;
Length ne doit jamais être mis comme "identificateur", c'est un attribut.
Ligne 3 : La reprise document.getElementsByTagName("div" ); vu qu'elle identifié par "divs".
Et apparemment j++; ne serait pas la bonne syntaxe, mais plutôt var j=Number(j) + Number(1); mais je ne peux pas te le garantir.
Je crois que c'est tout et que c'est un sacré capharnaüm dans ma tête.

 

Ah si, aussi for(i = 0; i <= divs; i++){ tu n'a pas mis de length.


Message édité par cetplus le 11-10-2010 à 09:56:54
n°2028257
vanquishV1​2
se coucher tard nuit
Posté le 11-10-2010 à 10:01:46  profilanswer
 

Bon, je vais essayer de comprendre. Merci.

n°2028259
cetplus
Wazard dans l'ombre
Posté le 11-10-2010 à 10:05:29  profilanswer
 

Tiens j'ai modifié ton script de base :

Code :
  1. <p><div class="menu">a</div>
  2. <p><div class="menu"></div>
  3. <p><div class="menu"></div>
  4. <p><div class="man"></div>
  5. <script language="Javascript">
  6. <!--
  7. var j=0;
  8. var divs = document.getElementsByTagName("div" );
  9. for(i = 0; i < divs.length; i++){
  10. if(divs[i].className == "menu" )
  11. {
  12. j++;
  13. }
  14. }
  15. alert("Nombre de div correspondant : " + j);
  16. //-->
  17. </script>


 
Compare ! Là il fonctionne. Moi j'ai compris :)

n°2028262
vanquishV1​2
se coucher tard nuit
Posté le 11-10-2010 à 10:09:04  profilanswer
 

Ah donc c'est juste à cause d'une mauvaise utilisation de mon document.getElementsByTagName("div" ).length; !
 
Hé bhé !
 
Merci beaucoup


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

  Help JS je deviens fou ! Compter div ayant une classe spécifique

 

Sujets relatifs
Tester l'existence d'une classe en javascript mootoolsUn php.ini spécifique pour un site (dédié)
[SVN/SVK] Comment gérer mon projet PHP -> Help configurationclasse liste avec alerte en cas de modification [résolu]
[JS] Problèmes avec listes déroulantesCréer une classe héritée en Action script
Récupérer la valeur d'un bouton radio en JSRecherche une idée sur la programation d'un site php simple (help) urg
[emploi] Recherche développeur PHP/HTML/JS disponible immédiatementJS pour afficher/masquer div ne fonctionne pas
Plus de sujets relatifs à : Help JS je deviens fou ! Compter div ayant une classe spécifique


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