417 votes

Jquery compter les éléments par classe quelle est la meilleure façon de mettre en œuvre cela?

Ok ce que je suis en train de faire est de considérer tous les éléments de la page en cours avec la même classe et ensuite, je vais l'utiliser pour être ajouté à un nom pour un formulaire de saisie. Fondamentalement, je suis en permettant aux utilisateurs de cliquer sur un <span>, puis en le faisant en ajouter un autre pour plus de la même type d'éléments. Mais je ne peux pas penser à une façon de compter tous ces simplement avec jquery/javascript.

J'allais ensuite le nom de l'élément en tant que quelque chose comme name="whatever(total+1)", si quelqu'un a une façon simple de le faire, je serais extrêmement reconnaissante que javascript n'est pas exactement ma langue maternelle et de dépassement de pile a généralement une tonne de bonnes réponses et une grande communauté, donc je suis en espérant que ma requête ne seront pas entendues.

760voto

PatrikAkerstrand Points 23968

Devrait juste être quelque chose comme:

 // Gets the number of elements with class yourClass
var numItems = $('.yourclass').length
 




En remarque, il est souvent utile de vérifier la propriété length avant d'enchaîner de nombreux appels de fonctions sur un objet jQuery, pour s'assurer que nous avons du travail à effectuer. Voir ci-dessous:

 var $items = $('.myclass');
// Ensure we have at least one element in $items before setting up animations
// and other resource intensive tasks.
if($items.length)
{
  $items.animate(/* */)
    // It might also be appropriate to check that we have 2 or more
    // elements returned by the filter-call before animating this subset of 
    // items.
    .filter(':odd')
      .animate(/* */)
      .end()
    .promise()
    .then(function () { 
       $items.addClass('all-done');
    });
}
 

23voto

Jonathan Points 3958

Obtenir un compte du nombre d'éléments qui se réfèrent à la même classe est aussi simple que cela

 <html>
    <head>
        <script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
        <script type="text/javascript">

            $(document).ready(function() {
                alert( $(".red").length );
            });

        </script>
    </head>
    <body>

        <p class="red">Test</p>
        <p class="red">Test</p>
        <p class="red anotherclass">Test</p>
        <p class="red">Test</p>
        <p class="red">Test</p>
        <p class="red anotherclass">Test</p>
    </body>
</html>
 

16voto

Max Shawabkeh Points 19030
var count = $('.' + myclassname).length;

9voto

Alastair Pitts Points 11677

pour compter:

$('.yourClass').length;

devrait bien fonctionner.

stocker dans une variable est aussi simple que:

var count = $('.yourClass').length;

6voto

Nilesh Darade Points 1

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X