2013-02-25 28 views
5

Tôi có một loạt hình ảnh mỗi hình ảnh có "ảnh" lớp;Jquery: Nhận từng hình ảnh src

Tôi muốn thực hiện từng bước này và truy xuất nguồn ảnh, để sử dụng sau trong câu lệnh if. Tôi đã viết mã bên dưới để thực hiện việc này, nhưng chưa thành công:

$.each($(".photo"), function() { 
    var imgsrc = $(this).attr("src").length; 
    console.log(imgsrc); 
}); 

Tôi không chắc mình đã sai ở đâu. Nó có vẻ hợp lý với tôi, nhưng tôi không nhận được bất cứ điều gì trong giao diện điều khiển.

Có ai có thể chỉ cho tôi đúng hướng không?

+0

chỉ cần tránh 'chiều dài' bạn tốt để đi – coolguy

+0

@ubercooluk cảm ơn nhưng dường như nó không tạo ra sự khác biệt nào nce cho dù tôi sử dụng nó hay không – MeltingDog

+0

'.oto' là lớp của hình ảnh .. bạn có thể kiểm tra lại rằng – coolguy

Trả lời

11

Nếu bạn đã đặt cho tên lớp tương tự cho tất cả các thẻ img sau đó thử này,

$(".photo").each(function() { 
    imgsrc = this.src; 
    console.log(imgsrc); 
    }); 
+0

Tại sao chúng ta không thể sử dụng imgsrc = this.attr ('src')? nó ném cho tôi một lỗi – Heihachi

+0

Nhiều Nhiều thanx bro, câu trả lời này rất hữu ích cho tôi. :) –

4
$(document).ready(function(){ 
    $(".photo").each(function() { 
     imgsrc = this.src; 
     console.log(imgsrc); 
    });  
}); 
0

Bạn đang cố gắng đọc lenght của một đối tượng/mảng ra khỏi bối cảnh ở đây:

var imgsrc = $(this).attr("src").length; 

đổi thành

var imgsrc = $(this).attr("src"); 

chỉnh sửa: để kiểm tra xem các thuộc tính tồn tại

if (imgsrc == undefined) { /* do something */ } 
+0

chắc chắn sẽ vẫn hoạt động? Nó sẽ chỉ cho tôi một số thay vì một chuỗi. Tôi có chiều dài ở đó bởi vì tôi muốn thực hiện và nếu tuyên bố về sau ví dụ: if (imgsrc <1) – MeltingDog

+0

bạn vẫn có thể thực hiện câu lệnh đó, 'if (imgsrc == undefined)', xem câu trả lời được cập nhật – yoda

0

Có thể bạn đang thiếu doc ready handler:

$(function(){ 
    $.each($(".photo"), function() { 
    var imgsrc = $(this).attr("src").length; 
    console.log(imgsrc); // logging length it should now print the length 
    }); 
}); 

hãy chắc chắn để tải kịch bản này đầu tiên sau đó $.each() chức năng của bạn:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
Các vấn đề liên quan