我正在为我的网站制作一个文本编辑器,我需要一个查找和替换功能,每次发现文本时都会查找,突出显示它,如果用户选择,则替换它。然后它移动到下一个出现,并做同样的事情。 我看到了这段代码:
var haystackText = "";
function findMyText(needle, replacement) {
if (haystackText.length == 0) {
haystackText = document.getElementById("haystack").innerHTML;
}
var match = new RegExp(needle, "ig");
var replaced = "";
if (replacement.length > 0) {
replaced = haystackText.replace(match, replacement);
}
else {
var boldText = "<div style=\"background-color: yellow; display: inline; font-weight: bold;\">" + needle + "</div>";
replaced = haystackText.replace(match, boldText);
}
document.getElementById("haystack").innerHTML = replaced;
}
但它只适用于具有文本的div,而不是像我一样的textarea,并且它一次找到和/或替换所有出现,而不是逐个迭代它们。 / p>
我该如何做到这一点?