wake-up-neo.com

jQuery Anzahl der Divs mit einer bestimmten Klasse?

So etwas in Betracht ziehen;

<div class="wrapper">
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
    <div class="item"></div>
</div>

Wie würde ich mit jQuery (oder einfach JS, wenn es kürzer ist, aber ich bezweifle es) die Anzahl der divs mit der "item" -Klasse zählen? In diesem Beispiel sollte die Funktion 5 zurückgeben, da es 5 Divs mit der Elementklasse gibt.

Vielen Dank!

48
user825286

Sie können die Eigenschaft jquery .length verwenden

var numItems = $('.item').length;
107
Brian Glaz

Für eine bessere Leistung sollten Sie Folgendes verwenden:

var numItems = $('div.item').length;

Da wird nur nach den div-Elementen in DOM gesucht und wird es schnell gehen.

Vorschlag: Verwenden von size() anstelle der length-Eigenschaft bedeutet einen zusätzlichen Verarbeitungsschritt, da SIZE() die length-Eigenschaft in der Funktionsdefinition verwendet und das Ergebnis zurückgibt.

17
Ghazanfar Mir

Sie können die Eigenschaft jQuery.children verwenden.

var numItems = $('.wrapper').children('div').length;

weitere Informationen finden Sie unter http://api.jquery.com/

10
Nikhil salwe

Ich habe diese js-Funktion gerade mit der jQuery-Größenfunktion erstellt http://api.jquery.com/size/

function classCount(name){
  alert($('.'+name).size())
}

Es gibt eine Warnung aus, wie oft der Klassenname im Dokument vorkommt.

2
Vlad

Und für die einfache Antwort, wenn jemand interessiert sein könnte;

var count = document.getElementsByClassName("item");

Prost.

Referenz: https://www.w3schools.com/jsref/met_document_getelementsbyclassname.asp

1
Pax Vobiscum
<!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <style type="text/css">
            .test {
                background: #ff4040;
                color: #fff;
                display: block;
                font-size: 15px;
            }
        </style>
    </head>
    <body>
        <div class="test"> one </div>
        <div class="test"> two </div>
        <div class="test"> three </div>
        <div class="test"> four </div>
        <div class="test"> five </div>
        <div class="test"> six </div>
        <div class="test"> seven </div>
        <div class="test"> eight </div>
        <div class="test"> nine </div>
        <div class="test"> ten </div>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script type="text/javascript">
        $(document).ready(function () {
            //get total length by class
            var numItems = $('.test').length;
            //get last three count
            var numItems3=numItems-3;         


            var i = 0;
            $('.test').each(function(){
                i++;
                if(i>numItems3)
                {

                    $(this).attr("class","");
                }
            })
        });
    </script>
    </body>
    </html>
0
Pratik Shah