2012-06-21 3 views
7

Я пытаюсь заменить стандартное изображение рейтинга по умолчанию Yelp для предприятий с одним из моих собственных. Для этого мне нужно найти соответствующий источник изображения для каждого из возможных 5 изображений, которые могли быть загружены. И затем, основываясь на этом, мне нужно загрузить соответствующий образ, который я создал.Динамически замените источник изображения на jQuery

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

Таким образом, yelp-star-1.png будет заменен на my-star-1.png. Так далее и тому подобное. Это, наверное, довольно просто, но я новичок в jQuery, и все, что я нашел, работает неправильно. Ваш опыт очень ценится!

+0

Существует ли логика между именем файла для замены и заменяемым именем файла? – ChrisW

+1

Похоже, вы пытаетесь найти, что такое оценка Yelp, чтобы установить, каково должно быть ваше изображение. Если это так, я думаю, вам нужно заглянуть в их API: http://www.yelp.com/developers/documentation/v2/overview –

ответ

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

EDIT

Я думаю, что вы спрашиваете, как динамически заменить СРК, основываясь на то, что там в настоящее время. Так что если есть какая-то прямая разница в строках, может быть, попробовать

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

Трудная часть для меня заключается в том, что я должен использовать либо my-star-1, my -star-2, my-star-3, my-star-4 или my-star-5 на основе изображения, которое загружается из Yelp. Мне сложно узнать, как найти загружаемое изображение, чтобы я мог заменить его правильным изображением. –

+2

Вы спрашиваете, как выполнить замену строк? Вы не очень ясны. – JeremyWeir

+1

Похоже, он не знает имен файлов img yelp ... Используйте firebug для их проверки? Или на самом деле большинство браузеров сейчас? –

4

Если вы просто пытаетесь сделать основную замену без рисунка:

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

Это может быть использовано с изображениями, которые имеют SRC атрибуты, начиная с 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 дал мне хорошее решение - это не требует от вас, чтобы знать абсолютный IMG SRC:

jQuery('.element img').each(function() { 
    jQuery(this).attr('src', jQuery(this).attr('src').replace("find_", "replace_")); 
}); 
Смежные вопросы