2009-02-16 41 views

Trả lời

12

Mã mà bạn đã cung cấp trả về đối tượng jQuery có thể lặp lại, nhưng không phải là mảng. Ngoài ra, bạn đã phạm sai lầm trong bộ chọn lớp của bạn.

Đối với kiểm tra kích thước của đối tượng jQuery, bạn có thể sử dụng:

var $j_object = $(".testClass"); 
alert($j_object.size()); 

Để lặp trên đối tượng đó, bạn có thể sử dụng mỗi() chức năng:

var $j_object = $(".testClass"); 
$j_object.each(function(i) { doSomethingHere(); }); 

Kiểm tra tài liệu jQuery để biết thêm thông tin về cách sử dụng từng().

Một lưu ý khác. Nếu bạn muốn làm điều gì đó với đối tượng dom trong mỗi hàm, bạn có thể tham khảo 'this'. Để có được đối tượng jQuery từ đối tượng dom, bạn có thể sử dụng $ (this).

Ngoài ra, ký hiệu $ là hoàn toàn tùy chọn, nhưng có thể giúp phân biệt giữa các đối tượng jQuery và các biến khác, chẳng hạn như những ký hiệu biểu thị phần tử dom.

+2

thay vì .size(), jQuery khuyên bạn nên sử dụng .length, do đó $ ('. TestClass'). Length sẽ cung cấp cho bạn số lượng phần tử với một lớp "testClass" trong tài liệu. –

16

Bạn có:

myArray = $('testClass'); 
alert(myArray.count); 

Bạn muốn:

myArray = $('.testClass'); 
alert(myArray.length); 

Thông báo, đầu tiên,. cho testClass. Sau đó, myArray là một đối tượng JavaScript, vì vậy bạn có quyền truy cập vào khóa chiều dài.

4

Bạn có thể làm điều này mà không sử dụng một mảng:

$('.testClass').length 

Đó là tất cả.

Các vấn đề liên quan