изменение IMG SRC с помощью JQuery - PullRequest
14 голосов
/ 04 июля 2011

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>

Я пытаюсь изменить имя файла с file # -128x79.jpg на file # -896x277.jpg .

Я не знаю, как взять динамически сгенерированное имя файла, найти и заменить изменения src.

Я нашел способ заменить весь src на «none», чтобы убедиться, что я все понял правильно, но я не знаю, как сделать все остальное.

$('#something').removeAttr('id').prop('class', 'some-class').find('img').prop('src', 'none');

Ответы [ 7 ]

17 голосов
/ 04 июля 2011

Вы можете заменить src для каждого img, сначала выделив все изображения с помощью селектора, а затем с помощью обратного вызова attr на replace содержимое:

$('#something img').attr('src',function(i,e){
    return e.replace("-128x79.jpg","-896x277.jpg");
})
6 голосов
/ 04 июля 2011

Вы можете назначить идентификатор для вашего тега изображения, например

<img id ="pic" src="http://domain.com/directory/file3-128x79.jpg">

, а затем в jquery использовать

$('#pic').attr('src', 'file#-896x277.jpg');
3 голосов
/ 04 июля 2011

ДЕМО

$('img').hover(function(){ // or any other method
    this.src = this.src.replace("128x79", "200x60");         
}); 
1 голос
/ 04 июля 2011

Примечание: попробуйте следующее здесь, наведите курсор мыши только для демонстрационной цели

$(function() {
    $("something li a img")
        .mouseover(function() { 
            var src = "over.gif";
            $(this).attr("src", src); // change the image source
        })

});
1 голос
/ 04 июля 2011

Вы должны добавить .children() до .find('img'):

$('#something').removeAttr('id').attr('class', 'some-class').children().find('img').attr('src', 'none');
0 голосов
/ 04 июля 2011
$('#something img').attr('src',$('#something img').attr('src').replace(x,y))
0 голосов
/ 04 июля 2011

Как насчет использования attr :

this.removeAttr('id').prop('class', 'featured-images').find('img').attr({‘src’:'file#-896x277.jpg’});
...