gpt4 book ai didi

javascript - 使用 Good Ole JavaScript 在 Div 中查找和替换单词

转载 作者:行者123 更新时间:2023-11-30 07:03:12 25 4
gpt4 key购买 nike

我知道这在 jQuery 中很容易做到,但我正在尝试在 JavaScript 中做到这一点。

我有这个:

window.addEventListener('load', function() {

function replaceName() {
var oldText= "Mobile";
var newText = "Stackoverflow";
var oldString= document.getElementById('replace').innerHTML;
var newString = oldString.replace(/oldText/g, newText);
document.getElementById('replace').innerHTML = newString;
}

replaceName();

}, false);

不确定我做错了什么?有什么想法吗?

谢谢

最佳答案

目前,您采用的是容易出错的方式。

容易出错,因为您将丢失事件处理程序以及替换您可能不想替换的东西。如果搜索词是 'a' 怎么办?您是否希望所有 a 元素都变成任何替换字符串?

另外,当您再次设置它时,您不必要地从 DOM 中序列化需要重新解析的 HTML。

正确的做法是只遍历文本节点。

var replaceText = function replaceText(element, search, replace) {
var nodes = element.childNodes;

for (var i = 0, length = nodes.length; i < length; i++) {

var node = nodes[i];

if (node.childNodes.length) {
replaceText(node, search, replace);
continue;
}

if (node.nodeType != 3) {
continue;
}

node.data = node.data.replace(new RegExp(search, 'g'), replace);
}

}

jsFiddle .

关于javascript - 使用 Good Ole JavaScript 在 Div 中查找和替换单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6181593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com