Изменение img src с помощью jquery
Структура html у меня есть что-то вроде:
<ul id="something">
<li>
<a href="">
<img src="http://domain.com/directory/file1-128x79.jpg">
</a>
</li>
<li>
<a href="">
<img src="http://domain.com/directory/file2-128x79.jpg">
</a>
</li>
<li>
<a href="">
<img src="http://domain.com/directory/file3-128x79.jpg">
</a>
</li>
</ul>
Я пытаюсь изменить имя файла из файла # -128x79.jpg на файл # -896x277.jpg.
Я не знаю, как взять динамически сгенерированное имя файла и выполнить поиск и замену изменений src.
Я нашел способ заменить весь src на "none", чтобы убедиться, что до сих пор понял, но я не знаю, как сделать все остальное.
$('#something').removeAttr('id').prop('class', 'some-class').find('img').prop('src', 'none');
Ответы
Ответ 1
Вы можете заменить src
на каждый img
, сначала выбрав все изображения с помощью селектора, а затем используя обратный вызов attr
на replace
содержимое:
$('#something img').attr('src',function(i,e){
return e.replace("-128x79.jpg","-896x277.jpg");
})
Ответ 2
вы можете назначить идентификатор вашему тегу изображения, например
<img id ="pic" src="http://domain.com/directory/file3-128x79.jpg">
то в jquery используйте
$('#pic').attr('src', 'file#-896x277.jpg');
Ответ 3
$('img').hover(function(){ // or any other method
this.src = this.src.replace("128x79", "200x60");
});
Ответ 4
Вы должны добавить .children()
до .find('img')
:
$('#something').removeAttr('id').attr('class', 'some-class').children().find('img').attr('src', 'none');
Ответ 5
Примечание. Попробуйте следующее здесь. Мышь предназначена только для демонстрационной цели.
$(function() {
$("something li a img")
.mouseover(function() {
var src = "over.gif";
$(this).attr("src", src); // change the image source
})
});
Ответ 6
Как насчет использования attr:
this.removeAttr('id').prop('class', 'featured-images').find('img').attr({‘src’:'file#-896x277.jpg’});
Ответ 7
$('#something img').attr('src',$('#something img').attr('src').replace(x,y))