Hitung elemen dengan jQuery

112

Adakah cara untuk menghitung berapa banyak elemen pada halaman dengan kelas tertentu?

santa
sumber

Jawaban:

229
$('.someclass').length

Anda juga bisa menggunakan:

$('.someclass').size()

yang secara fungsional setara, tetapi yang pertama lebih disukai . Faktanya, yang terakhir sekarang sudah tidak digunakan lagi dan tidak boleh digunakan dalam pengembangan baru apa pun.

David
sumber
Saya tidak menemukannya, tapi saya membaca di Meta baru-baru ini, "Bagaimana cara Anda menaikkan suara?" , dan ada kutipan Jeff Atwood, "Setiap kali saya meneliti suatu masalah dan menemukan Jawabannya." Situasi saya yang sebenarnya.
brasofilo
13
Perhatikan bahwa .size()metode tersebut tidak digunakan lagi.
Moshe Simantov
1
dengan versi 3.1.1, panjangnya kembali tidak terdefinisi
Giovanni Bitliner
1
@ TylerLazenby: Anda yakin tentang itu? jsfiddle.net/xpvt214o/154885 Apakah Anda memiliki contoh untuk menunjukkan klaim Anda?
David
1
@TylerLazenby: Kode dalam pertanyaan Anda tidak menggunakan jQuery. Anda baru saja mendapatkan panjang string literal.
David
8

Ya ada.

$('.MyClass').size()
gddc
sumber
1
$ ('. MyClass'). Panjangnya sedikit lebih baik, karena tidak ada overhead pemanggilan metode. Kalau tidak, keduanya sama persis.
EvilAmarant7x
8

Saya yakin ini berhasil:

$(".MyClass").length 
IronisMuffin
sumber
7

coba ini:

var count_element = $('.element').length
Naftali alias Neal
sumber
4
$('.class').length

Yang ini tidak berhasil untuk saya. Saya lebih suka menggunakan ini:

$('.class').children().length

Saya tidak begitu tahu alasannya, tapi yang kedua hanya bekerja untuk saya. Agaknya, salah satu ukuran tidak berfungsi.

Cium Koppány
sumber
3

Cara terbaik adalah menggunakan .each ()

var num = 0;

$('.className').each(function(){
    num++;
});
Panomosh
sumber
2
"Metode .each () dirancang untuk membuat konstruksi perulangan DOM ringkas dan tidak terlalu rentan terhadap kesalahan"
Panomosh
2

gunakan .size()metode atau .lengthatribut

neebz
sumber