Изменение 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

DEMO

$('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))