我试图用Javascript替换HTML字符串中的文本。 最棘手的部分是,我需要替换的文字,只有当它是不是一个标签内(即它不是一个属性的一部分):javascript - 替换属性之间的文本
var html_str = '<div>hi blah blah<img src="img.jpg" alt="say hi" /><a href="link_hi.php">hi!</a></div>';
在这个例子中,我做html_str.replace("hi","hello");
后,我想更换只有div
和a
标签内的文字,避免<img alt=".."
或href="...
。
一些更多的信息:
html_str = document.body.innerHTML;
,因此元素是未知的。上面的例子只是一个例子。- 正则表达式比欢迎。
- 的
hi
和hello
值都在里面varaibles,这意味着实际取而代之的是像这样:html_str.replace(var1,var2);
真正的代码是这样的:
var html_str = document.body.innerHTML;
var replaced_txt = "hi";
var replace_with = "hello";
var replaced_html = html_str.replace(replaced_txt,replace_with);
我希望我解释自己很好。 在此先感谢。
没有帮助我的情况。谢谢你,虽然... – Phoenix
@Phoenix出于好奇,为什么不呢? – Yoshi
它只是没有工作。其实我希望这个解决方案能够工作,它能更好地适应我的代码。我需要对HTML文本进行更改,而不会对标记造成任何“损害”,而这通常会发生在正则表达式中。 – Phoenix