[英]replace doesn't seem to work
我有两个使用.replace
代码示例。 一个人不起作用,我想了解原因。
这不起作用:
var code = document.body.innerHTML;
code=code.replace(/11/g,"22");
code=code.replace(/any/g,"anything");
但是,这样做:
document.body.innerHTML=document.body.innerHTML.replace(/11/g,"22");
document.body.innerHTML=document.body.innerHTML.replace(/any/g,"anything");
如果您使用
var code = document.body.innerHTML;
该code
是一个包含字符串而不是引用的变量。
因此,修改code
不会神奇地更新document.body.innerHTML
。
您可以使用以下之一:
var document.body.innerHTML = document.body.innerHTML
.replace(/11/g,"22")
.replace(/any/g,"anything");
var b = document.body; // Reference to an object
b.innerHTML = b.innerHTML
.replace(/11/g,"22")
.replace(/any/g,"anything");
但是,请注意, innerHTML
返回HTML字符串,但是您不能使用正则表达式解析(X)HTML。 。
看来很正常。 无论您使用“代码”变量如何处理,都需要在最后将其分配回文档。 您可以使用该变量,但最后应添加:document.body.innerHTML = code
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.