从html对象替换所有图像src

时间:2018-04-19 11:53:30

标签: javascript jquery html

Ajax用于从数据库中提取数据。它返回一个HTML对象。在该对象的一侧,我需要替换所有图像src。

请求成功函数内部:

[...]
success: function(html) {
      var images = $(html).find("img");
      images.each(function(i, img) {
           var src = <some-url>;
           $(img).attr("src", src)
      }
      console.log(html);
}

图片来源未在响应HTML中被替换。有没有办法替换所有图像src?

2 个答案:

答案 0 :(得分:0)

你直接追加字符串因此没有操纵效果。

而是创建一个jQuery对象来操作它然后附加被操纵的对象。

var fragment = $(html);

//If all image needs same image url
//fragment.find("img").attr('src', '<some-url>');

fragment.find("img").attr('src', function(_, currentValue){
    return '<some-url>';
}); 

console.log(fragment);

答案 1 :(得分:0)

您的示例中缺少结束括号。尝试给定的代码:

&#13;
&#13;
var images = $("#example").find("img");
 images.each(function(i, img) {
   var src = "<some-url>";
   $(img).attr("src", src)
 });

console.log($("#example").html());
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="example">
  <img src="1">
  <img src="2">
  <img src="3">
</div>
&#13;
&#13;
&#13;

上面的代码片段成功更改了每个img元素的src标记。我希望有所帮助。