2012-06-21 36 views
7

Tôi đang cố gắng thay thế hình ảnh xếp hạng sao Yelp mặc định cho các doanh nghiệp có một hình ảnh của riêng tôi. Để làm như vậy, tôi cần phải tìm nguồn hình ảnh tương ứng cho mỗi trong số 5 hình ảnh có thể tải được. Và sau đó, dựa trên đó tôi cần phải tải trong hình ảnh thích hợp tôi đã tạo ra.Tự động thay thế nguồn hình ảnh bằng jQuery

<div id="starRating"> 
    <img src="http://yelp-star-1.png"/> 
</div> 

Vì vậy, yelp-star-1.png sẽ được thay thế bằng my-star-1.png. Vv và vv. Điều này có lẽ khá đơn giản, nhưng tôi mới sử dụng jQuery và mọi thứ tôi tìm thấy đã không hoạt động đúng cách. Chuyên môn của bạn được rất nhiều đánh giá cao!

+0

Có logic giữa tên của tệp được thay thế và tên tệp thay thế không? – ChrisW

+1

Có vẻ như bạn đang cố gắng tìm ra điểm số của Yelp là thiết lập hình ảnh của bạn. Nếu vậy, tôi nghĩ bạn cần phải xem xét API của họ: http://www.yelp.com/developers/documentation/v2/overview –

Trả lời

10
$("#starRating img").attr("src", "http://pathto/my-star-1.png") 

EDIT

Tôi nghĩ rằng bạn đang yêu cầu làm thế nào để tự động thay thế các src dựa trên những gì đang có hiện nay. Vì vậy, nếu có một số khác biệt trực tiếp trong chuỗi, có thể thử

var img = $("#starRating img"); 
img.attr("src", img.attr("src").replace("yelp", "my")); 
+0

Phần khó khăn đối với tôi là tôi phải sử dụng my-star-1, -star-2, my-star-3, my-star-4 hoặc my-star-5 dựa trên hình ảnh được tải từ Yelp. Tôi đang gặp khó khăn khi biết cách tìm hình ảnh yelp tải để tôi có thể thay thế hình ảnh đó bằng hình ảnh chính xác. –

+2

Bạn đang hỏi cách thay thế chuỗi? Bạn không rõ lắm. – JeremyWeir

+1

Có vẻ như anh ta không biết tên của tập tin img yelp ... Sử dụng firebug để kiểm tra chúng? Hoặc trên thực tế, hầu hết các trình duyệt hiện nay? –

4

Nếu bạn chỉ cố gắng làm thay thế một cơ bản mà không bất kỳ mẫu:

$('img[src="http://website.com/images/yelp-star-1.png"]').attr('src','http://website.com/images/my-star-1.png'); 

Điều này có thể được sử dụng với hình ảnh những người có một src thuộc tính bắt đầu với http://website.com/images/yelp-star-

$('img[src^="http://website.com/images/yelp-star-"]').each(function() { 
    $(this).attr('src', $(this).attr('src').replace("yelp", "my")); 
}); 
4

@GrayB đã cho tôi một giải pháp tốt - điều này không đòi hỏi bạn phải biết img src tuyệt đối:

jQuery('.element img').each(function() { 
    jQuery(this).attr('src', jQuery(this).attr('src').replace("find_", "replace_")); 
}); 
Các vấn đề liên quan