この検索/置換JSを変更して、2つの単語を同時に置換できるようにします。
私のコードは、ここに示すように使用する最後の単語を除いて機能します
string.replaceを呼び出すと、元の文字列自体を変更せずに、置き換えられたテキストを含む新しい文字列が返されます。
だからあなたのコード:
replaced = haystackText.replace(...)
更新されたテキストを変数「replaced」に設定していますが、変数「haystackText」は更新されていません。
さらに、これを行うので:
if (haystackText.length == 0) {
haystackText = document.getElementById("haystack").innerHTML;
}
メソッドが最初に呼び出されたときにのみhaystackTextが設定され、2回目は設定されません。haystackTextを(メソッドの外で)グローバル変数として残す必要がないように思われるので、これを変更します。
if (haystackText.length == 0) {
haystackText = document.getElementById("haystack").innerHTML;
}
これに:
var haystackText = document.getElementById("haystack").innerHTML;
あなたの問題を解決するでしょう。