2010-03-01 34 views

Trả lời

48

Bạn có thể tạo các mảng của src thuộc tính hơn trực tiếp sử dụng map():

var tn_array = $("#thumbnails img").map(function() { 
    return $(this).attr("src"); 
}); 

Edit:tn_array là một đối tượng ở đây chứ không phải là một mảng javascript nghiêm ngặt nhưng nó sẽ đóng vai trò như một mảng. Ví dụ, đây là mã quy phạm pháp luật:

for (int i=0; i<tn_array.length; i++) { 
    alert(tn_array[i]); 
} 

Bạn tuy nhiên có thể gọi get(), mà sẽ làm cho nó một mảng nghiêm ngặt:

Làm thế nào để bạn biết sự khác biệt? Gọi số:

alert(obj.constructor.toString()); 

Phiên bản đầu tiên sẽ là:

function Object() { [native code] } 

Thứ hai:

function Array() { [native code] } 
+0

ngọt ngào! cảm ơn rất nhiều :) – FFish

+0

Vâng, cảm ơn +1. Tôi đã tìm kiếm một kỹ thuật tương tự để có được một mảng val(). Loại jquery đáng ngạc nhiên không có cái gì được xây dựng trong này. Có vẻ như một sự phân tích, nhưng sau cùng thì thư viện "viết ít" hơn. :) – harpo

+0

Cũng nên nhớ rằng nếu bạn muốn một mảng thực, bạn cần gọi .get() trên kết quả của .map(). – harpo

5

Bạn có thể lặp qua img yếu tố bao giờ hết:

var tn_array = Array(); 

$('#thumbnails img').each(function() { 
    tn_array.push($(this).attr('src')); 
}); 
Các vấn đề liên quan