簡體   English   中英

替換似乎不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM