gpt4 book ai didi

javascript - Node.normalize() 在 IE6 中崩溃

转载 作者:数据小太阳 更新时间:2023-10-29 05:49:04 25 4
gpt4 key购买 nike

我正在用 javascript 对 TextNode 进行一些操作,而且我(不幸的是)需要支持 IE6。 Node.normalize() 崩溃了,我需要解决这个问题。我的第一个倾向是使用其他 DOM 方法重新实现它。我将如何实现?

最佳答案

以下版本比此处发布的其他版本更短、更高效。改进是:

  • 没有重复调用 node.childNodesnode.childNodes.length
  • 不创建额外的文本节点;相反,对于每次合并,保留第一个现有文本节点并使用其 appendData() 方法
  • 更短

代码:

function normalize(node) {
var child = node.firstChild, nextChild;
while (child) {
if (child.nodeType == 3) {
while ((nextChild = child.nextSibling) && nextChild.nodeType == 3) {
child.appendData(nextChild.data);
node.removeChild(nextChild);
}
} else {
normalize(child);
}
child = child.nextSibling;
}
}

关于javascript - Node.normalize() 在 IE6 中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2023255/

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