如何在JQuery中搜索和替换HTML文本字符串?

时间:2014-09-25 16:23:23

标签: jquery regex string replace

我正在使用JQuery 1.7.1。我有一个存储在变量中的格式良好的HTML块。在这个HTML中有一行,

<img id=“my-img” src=“…” />

在我的变量中,如何用其他东西替换src属性的值?

5 个答案:

答案 0 :(得分:2)

http://api.jquery.com/prop/

var imgElement = $(htmlString).find("#my-img");
imgElement.prop('src', 'something else')`;

答案 1 :(得分:2)

jQuery可以为你解析HTML字符串,所以你可以使用jQuery API来处理它,就像你在文档的一部分一样。

var htmlString = "<foo ... ></foo>";
var parsedHtml = $(htmlString);
parsedHtml.find('#my-img').prop('src', 'new value');
htmlString = parsedHtml.wrap('<div />').parent().html(); // in case you need it as string again 

答案 2 :(得分:0)

你不会做一个字符串替换。您可以访问该对象并更改属性:

$(myVar).find('#my-img').attr('src', 'my-new-src');

答案 3 :(得分:0)

var html = $('<tag>...<img id="my-img" src="" />...</tag>');
html.find('#my-img').attr('src', 'other src');
//or
//html.find('#my-img').prop('src', 'other src')
htmlFinal = html.html();
$('body').html(htmlFinal);

答案 4 :(得分:0)

前进并使用了通用的Javascript解决方案,

myHtml = myHtml.replace(/<img id=\"my-img\" src=\"(.*?)\" width=\"66\">/g, "<img id=\"my-img\" src=\"" + imgSrc + "\" width=\"66\">");