用jquery更改img src

gav*_*siu 14 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>
Run Code Online (Sandbox Code Playgroud)

我正在尝试将文件名从文件#-128x79.jpg更改文件#-896x277.jpg.

我不知道如何获取动态生成的文件名并搜索和替换src更改.

我找到了用'none'替换整个src的方法,以确保我到目前为止做到了,但我不知道如何做其余的事情.

$('#something').removeAttr('id').prop('class', 'some-class').find('img').prop('src', 'none');
Run Code Online (Sandbox Code Playgroud)

Nik*_*las 17

您可以先使用选择器选择所有图像,然后使用回调内容来替换src每个img图像:attrreplace

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

  • @ mhenry1384就像你可以用`attr`获得布尔属性一样,你可以用`prop`获得非布尔属性.如果你读过你所提到的链接(http://blog.jquery.com/2011/05/10/jquery-1-6-1-rc-1-released/),**首选用法**定义为'.prop()方法应该用于布尔属性/属性以及html中不存在的属性(例如window.location).所有其他属性(您可以在html中看到的属性)可以并且应该继续使用.attr()方法进行操作. (3认同)

Muh*_*hid 6

你可以为你的图片标签指定一个id

<img id ="pic" src="http://domain.com/directory/file3-128x79.jpg">
Run Code Online (Sandbox Code Playgroud)

然后在jquery中使用

$('#pic').attr('src', 'file#-896x277.jpg');
Run Code Online (Sandbox Code Playgroud)