如何将字符串转换为DOM并在其中进行选择

时间:2013-09-18 10:03:54

标签: javascript jquery

我有一个包含HTML的字符串。

我需要

  • 第一部分:将字符串转换为DOM元素并使用jquery 选择所有图像
  • 第二部分:更新所有图像src,在当前之前添加“xxxx /” src值

知道该怎么做吗?

var resp = '<div><img src="smiley1.gif"></div><div><img src="smiley2.gif"></div><div><img src="smiley3.gif"></div>';

var dom = $(resp).html();

以html呈现的结果应为:

<div><img src="xxxx/smiley.gif"></div><div><img src="xxxx/smiley.gif"></div><div><img src="xxxx/smiley.gif"></div>;

3 个答案:

答案 0 :(得分:2)

希望这就是你想要的。

var re = /src=\"/gi;
var str = '<div><img src="smiley.gif"></div><div><img src="smiley.gif"></div><div><img src="smiley.gif"></div>';
var newstr = str.replace(re, "src=\"xxxxxx\/");
alert(newstr);

这是工作小提琴http://jsfiddle.net/jogesh_pi/4L5Q8/

答案 1 :(得分:1)

可以这样做:

var dom = $('<div/>').html(resp).find('img').attr('src', function () {
    return 'xxxx/' + $(this).attr('src')
}).end().html();

DEMO

答案 2 :(得分:1)

使用Jquery:

var resp = '<div><img src="smiley.gif"></div><div><img src="smiley.gif"></div><div><img src="smiley.gif"></div>';

$(resp).appendTo($('body'));
$('img').each(function(){this.src = "xxxxxx" + this.src;})