【问题标题】:Amend img src using jQuery [closed]使用 jQuery 修改 img src [关闭]
【发布时间】:2014-01-21 14:32:36
【问题描述】:

我想通过以下方式更改图像的路径(基本上删除“-00x00”尺寸部分),以便这些示例:

<img src="/uploads/lorem_m_1-375x349.png">
<img src="/uploads/ipsum_m_1-248x378.png">
<img src="/uploads/dolor_m_1-392x298.png">

变成:

<img src="/uploads/lorem_m_1.png">
<img src="/uploads/ipsum_m_1.png">
<img src="/uploads/dolor_m_1.png">

谢谢。

【问题讨论】:

  • 使用 jquery,您只需使用 .attr 方法更改属性。 $("img").attr("src",function(i,src){return fixSrc(src);})
  • 这种情况建议使用prop over attr。
  • @JonathanW src 属性反映了 src 属性的值,因此使用 .attr 修改它是完全可以的。 developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement
  • 为什么我的问题被评为负面?我在问之前进行了研究,并试图弄清楚:)

标签: javascript jquery html image


【解决方案1】:

看看这个jsfiddle:

<img src="/uploads/lorem_m_1-375x349.png">
<img src="/uploads/ipsum_m_1-248x378.png">
<img src="/uploads/dolor_m_1-392x298.png">

$('img').each(function() {
    var src = $(this).attr('src');

    $(this).attr('src',replaceNumbers(src));

    //console.log($(this).attr('src'));

});

function replaceNumbers(str) {
     var regex = /-\d+x\d+/;

    return str.replace(regex,'');     
}

replaceNumbers() 简单地接受一个字符串(在本例中是您的图像源)并将“-00x00”替换为空字符串。然后,它返回该字符串,并在 jQuery each 方法中,将每个图像源替换为其更改后的值。

【讨论】:

  • 太棒了,感谢乔希的快速而彻底的回答。效果很好。
猜你喜欢
  • 1970-01-01
  • 2011-09-27
  • 1970-01-01
  • 1970-01-01
  • 2011-08-24
  • 1970-01-01
  • 2014-06-19
  • 1970-01-01
  • 2016-04-17
相关资源
最近更新 更多