Đếm phần tử bằng jQuery


112

Có cách nào để đếm có bao nhiêu phần tử trên trang với một lớp cụ thể không?

Câu trả lời:


229
$('.someclass').length

Bạn cũng có thể sử dụng:

$('.someclass').size()

tương đương về mặt chức năng, nhưng cái trước được ưu tiên hơn . Trên thực tế, cái sau hiện không được dùng nữa và không nên được sử dụng trong bất kỳ sự phát triển mới nào.


Tôi không xác định vị trí của nó, nhưng tôi đã đọc trên Meta gần đây "How do you upvote?" và có một câu nói của Jeff Atwood "Bất cứ khi nào tôi nghiên cứu một vấn đề và tìm thấy Câu trả lời." Tình hình chính xác của tôi.
brasofilo

13
Lưu ý rằng .size()phương pháp không được chấp nhận.
Moshe Simantov

1
với phiên bản 3.1.1, độ dài trả về không xác định
Giovanni Bitliner

1
@TylerLazenby: Bạn chắc chắn về điều đó chứ? jsfiddle.net/xpvt214o/154885 Bạn có ví dụ để minh chứng cho tuyên bố của mình không?
David

1
@TylerLazenby: Mã trong câu hỏi của bạn không sử dụng jQuery. Bạn chỉ nhận được độ dài của một chuỗi theo nghĩa đen.
David


8

Có, có.

$('.MyClass').size()

1
Độ dài $ ('. MyClass'). Tốt hơn một chút, vì không có chi phí gọi phương thức. Nếu không thì cả hai hoàn toàn giống nhau.
EvilAmarant7x



4
$('.class').length

Điều này không làm việc cho tôi. Tôi muốn sử dụng cái này:

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

Tôi thực sự không biết lý do tại sao, nhưng cái thứ hai chỉ phù hợp với tôi. Tại sao, cả hai kích thước đều không hoạt động.


3

Cách tốt nhất là sử dụng .each ()

var num = 0;

$('.className').each(function(){
    num++;
});

2
"Phương pháp .each () được thiết kế để làm cho DOM cấu trúc vòng lặp ngắn gọn và ít dễ bị lỗi"
Panomosh

2

sử dụng .size()phương pháp hoặc .lengththuộc tính

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.