javascript替换函数只替换第一次出现的

javascript替换函数只替换第一次出现的,javascript,Javascript,上述语句仅替换第一次出现的单引号。这可能是因为我在那之后立即提交了一个submit,而且javascript不会等到上一条语句完成后再继续下一条语句吗?要在javascript中全局替换,需要在替换字符串中添加/g 查看此SO链接尝试使用regex/g document.getElementById("Message").innerHTML=document.getElementById("Message").innerHTML.replace("'","%%"); 更改代码如下: .repl

上述语句仅替换第一次出现的单引号。这可能是因为我在那之后立即提交了一个submit,而且javascript不会等到上一条语句完成后再继续下一条语句吗?

要在javascript中全局替换,需要在替换字符串中添加/g


查看此SO链接

尝试使用regex
/g

document.getElementById("Message").innerHTML=document.getElementById("Message").innerHTML.replace("'","%%");
更改代码如下:

.replace(/'/g,"%%")

您应该在replace中使用正则表达式

document.getElementById("Message").innerHTML = 
                  document.getElementById("Message")
                          .innerHTML
                          .replace(/'/g,"%%");

使用replace()参数中的
Global(g)
标志


请参见您应该使用正则表达式和
/g
(全局)标志。这将替换所有事件:

document.getElementById("Message").innerHTML=document.getElementById("Message").innerHTML.replace(/'/g,"%%");

@ADC是的,但它给出了一个简短、含糊不清的答案,并没有任何解释,搜索引擎优化非常出色。不过,我想我只是用我的参考资料来增加页面排名。欧欧欧
document.getElementById("Message").innerHTML=
    document.getElementById("Message").innerHTML.replace(/'/g,"%%");