Soru jQuery belirli bir sınıfa sahip div sayıları?


Böyle bir şey düşünülürse;

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

JQuery'yi (veya kısaca JS, daha kısasa - ama şüpheliyim) kullanarak, "item" sınıfıyla birlikte div sayılarını nasıl sayabilirim? Bu örnekte, öğe sınıfıyla 5 div var olduğundan, işlev 5 değerini döndürmelidir.

Teşekkürler!


44
2017-09-13 15:33


Menşei


$ ("div.item") değerini deneyin. length veya $ ("div.item"). - Hardik Patel
Bu size yardımcı olmalıdır: [Link] [1] [1]: stackoverflow.com/questions/2727303/... - Darvex
size () uzunluktan kaldırılmış bir çubuktur - lft93ryt


Cevaplar:


Jquery'yi kullanabilirsiniz .length özellik

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

96
2017-09-13 15:34



... Sanırım bu sınıfla birlikte div'ları saymak için $ ('div.item') olmalı (ve .item sınıfıyla başka herhangi bir öğe içermemelidir). - jjmontes
Teşekkürler, ihtiyacım olan buydu! Zaman sınırı biter bitmez cevabınızı kabul edeceğim!
@jjmontes bu doğru. Tabii ki herhangi bir seçici kullanabilirsiniz .. ama OP'nin almak istediği özelliğe bağlıdır. Örneğin $('div.wrapper div.item') daha yakın olurdu. - Brian Glaz
Ben aldıktan sonra uzunluk, bu sınıf ile her div için bir dizi nasıl ayarlanır?, örneğin, metin ile giriş yapmak istiyorum .html() birinci veya ikinci div öğesinde. - M. Pancadewa


Daha iyi performans için şunları kullanmalısınız:

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

Çünkü sadece div içindeki öğeler DOM ve hızlı olacak.

Öneri: kullanma size() yerine length özellik, işlemden bu yana bir adım daha atıyor SIZE() kullanımları length işlev tanımında özellik ve sonucu döndürür.


17
2017-09-13 15:38



Kullanımdaki zaman / performans arasındaki farkın ne olduğunu bilmek isterdim. div.item yerine .item Tabii ki, bu, belgenin ne kadar büyük olduğuna bağlı olacaktır, ancak genel olarak, büyük bir fark yaratıp yaratmadığını bilmek merak ediyorum. - haakym


JQuery.children özelliğini kullanabilirsiniz.

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

daha fazla bilgi için http://api.jquery.com/


9
2017-09-25 06:13





JQuery boyut işlevini kullanarak bu js işlevini yarattım http://api.jquery.com/size/

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

Belgedeki sınıf adının kaç defa meydana geldiğini bildirir.


2
2017-09-13 15:46





Ve herkesin ilgisini çekebilirse, basit js yanıtı için;

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

Şerefe.

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


1
2017-09-21 18:37