2009-05-04 6 views
0

Je cherche à parcourir une fois toutes les classes définies sur ma page html. Je peux récupérer les noms de classe en utilisant Jquery, mais je cherche simplement à répéter chaque nom de classe une fois plutôt qu'à chaque fois qu'il apparaît sur la page.Iterate JQuery Autour des classes DISTINCT sur une page

+0

vous ne savez que les classes sont presque toujours réutilisés sur plusieurs balises dans les pages de droite ??? C'est un peu leur truc. Sinon, ajoutez un attribut ID –

Répondre

1

Kinda étrange à faire, mais ici ya go

<html> 
<head> 
    <title>Page</title> 
    <script src="jquery-1.3.2.min.js"></script> 
    <script> 
     $(function() { 

      var classes = {}; 
      $("*[class]").each(function() { 
       var cs = $(this).attr("class").split(/\s/g); 
       for (var i = 0; i < cs.length; i++) { 
        if (!classes[cs[i]]) { 
         classes[cs[i]] = true; 
        } 
       } 
      }); 

      for (var prop in classes) 
       alert(prop); 
     }); 
</script> 
</head> 
    <body> 

    <div class="single"></div> 
    <div class="one two three"></div> 
    <div class="one two three"></div> 
    <div class="one two three four"></div> 
    <div class="one two three five"></div> 
    <div class="one two three six"></div> 

    </body> 
</html> 
+0

euh ... peut-être que j'ai mal compris la question .. lol –

+0

je voulais plus dire si vous avez défini une classe 6 fois sur une page, en sélectionnant ceci et en appliquant sur l'opération en fonction de la classe (par exemple élément rond) mais seulement le faire une fois par opposition à 6 fois – AJM

+0

alors non, c'est comme ça que fonctionne jQuery. Il sélectionne les objets DOM en fonction de votre requête et leur fait des choses ... dans votre cas 6 éléments auraient quelque chose de changé ... 1 à la fois. Vous voulez changer vos règles de style à l'exécution, ce qui est complètement différent. Vous voulez quelque chose comme ça http://flesler.blogspot.com/2007/11/jqueryrule.html –

Questions connexes