我正在修改这个查找/替换 JS 以便能够同时替换两个单词。
我的代码有效,除了我使用的最后一个词,如显示here
调用 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;
会解决你的问题。