document.getElementById("Message").innerHTML=document.getElementById("Message").innerHTML.replace("'","%%");
上述声明仅替换单引号的第一次出现。可能是因为我之后做了提交,并且javascript不会等到之前的语句完成后再转到下一个语句吗?
答案 0 :(得分:3)
尝试使用正则表达式/g
.replace(/'/g,"%%")
更改您的代码,如下所示
document.getElementById("Message").innerHTML =
document.getElementById("Message")
.innerHTML
.replace(/'/g,"%%");
答案 1 :(得分:0)
要在javascript中全局替换,您需要将/ g添加到替换字符串。
请参阅此SO链接How to replace all dots in a string using JavaScript
答案 2 :(得分:0)
你应该在替换中使用正则表达式。
document.getElementById("Message").innerHTML=document.getElementById("Message").innerHTML.replace(/'/g,"%%");
答案 3 :(得分:0)
在replace()参数中使用Global (g)
标志。
请参阅here
答案 4 :(得分:0)
您应该使用正则表达式和/g
(全局)标志。这将取代所有出现次数:
document.getElementById("Message").innerHTML=
document.getElementById("Message").innerHTML.replace(/'/g,"%%");