0

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

我的代码有效,除了我使用的最后一个词,如显示here

4

1 回答 1

1

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

所以你的代码:

replaced = haystackText.replace(...)

将更新的文本设置为变量“replaced”,但从不更新变量“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;

会解决你的问题。

于 2012-05-16T22:25:09.030 回答