用jquery更改img src

时间:2011-07-04 07:18:17

标签: javascript jquery src prop

我拥有的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更改。

我找到了用'none'取代整个src的方法,以确保我到目前为止做到了,但我不知道如何做其余的。

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

7 个答案:

答案 0 :(得分:17)

您可以先为每个src替换img,方法是首先使用选择器选择所有图像,然后使用attr回调replace内容:

$('#something img').attr('src',function(i,e){
    return e.replace("-128x79.jpg","-896x277.jpg");
})

答案 1 :(得分:6)

您可以为图片标记指定ID,例如

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

然后在jquery中使用

$('#pic').attr('src', 'file#-896x277.jpg');

答案 2 :(得分:3)

DEMO

$('img').hover(function(){ // or any other method
    this.src = this.src.replace("128x79", "200x60");         
}); 

答案 3 :(得分:1)

您应该在.children()之前添加.find('img')

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

答案 4 :(得分:1)

注意:请尝试以下鼠标,仅用于演示目的

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

});

答案 5 :(得分:0)

如何使用attr

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

答案 6 :(得分:0)

$('#something img').attr('src',$('#something img').attr('src').replace(x,y))