JavaScript 用具有特定 ID 的正则表达式 img 标记替换,但其他属性可以是任何属性



不好意思问,因为我应该能得到这个,但我的头撞墙已经有一段时间了。我需要用已知的唯一 id 替换一个 img 元素(在这里,比如说,id="abc123"(。我认为这应该这样做,但显然我错了:

var rgx = '/<img[^>]*id="abc123"[^>]*>/';
var replaced_text = edata.replace(rgx, myreplacementstring);

其中 edata 是 HTML 的一大块,而 myreplacementstring 是我想替换 img 元素的内容。我事先知道要替换的图像元素都是小写的,但当然除了 id 之外还会有其他属性,它们可能在 id 的两侧。应该很容易吧?我错过了什么?

您的正则表达式工作正常。

你需要做的是这样的:

var rgx = /<img[^>]*id="abc123"[^>]*>/;

而不是:

var rgx = '/<img[^>]*id="abc123"[^>]*>/';

您可以在此处看到您的代码:

http://jsfiddle.net/Fresh/bMKLU/

最新更新