JS一次查找并替换多个单词

时间:2012-05-16 22:07:58

标签: javascript replace

我正在修改this查找/替换JS,以便能够同时替换两个单词。

我的代码只能使用我用作show here

的最后一个单词

1 个答案:

答案 0 :(得分:1)

调用string.replace会返回包含替换文本的新字符串,而不会修改原始字符串本身。

所以你的代码:

replaced = haystackText.replace(...)

将更新的文本设置为变量“replacement”,但从不更新变量“haystackText”。

此外,既然你这样做了:

if (haystackText.length == 0) {
      haystackText = document.getElementById("haystack").innerHTML;
 }

它只会在第一次调用方法时设置haystackText,而不是第二次。看起来你不需要将haystackText作为全局变量(在方法之外),所以改变这个:

 if (haystackText.length == 0) {
      haystackText = document.getElementById("haystack").innerHTML;
 }

到此:

var haystackText = document.getElementById("haystack").innerHTML;

可以解决您的问题。