Javascript .replaceWholeText()方法已过时,其他哪些方法可以做到这一点?
文本节点方法Javascript .replaceWholeText()方法已过时,其他哪些方法可以做到这一点?,javascript,html,Javascript,Html,文本节点方法replaceWholeText()已经过时,还有什么其他方法可以做到这一点呢?您的标准可以用所需的文本替换有问题的文本,我相信它是的预期继承者: document.getElementsByTagName('p')[0].innerHTML='Two' 一个建议似乎是使用。它似乎与replaceWholeText执行相同的操作 element.innerHTML=内容; 删除元素的所有子元素,解析内容字符串并将结果节点指定为元素的子元素 您可以使用方法删除所有空的和相邻的Text
replaceWholeText()
已经过时,还有什么其他方法可以做到这一点呢?您的标准可以用所需的文本替换有问题的文本,我相信它是的预期继承者:
document.getElementsByTagName('p')[0].innerHTML='Two'代码>
一个
建议似乎是使用。它似乎与replaceWholeText执行相同的操作
element.innerHTML=内容;
删除元素的所有子元素,解析内容字符串并将结果节点指定为元素的子元素
您可以使用方法删除所有空的和相邻的TextNode(即您只有一个由wholeText
组成的TextNode),然后将合并的TextNode的textContent设置为替换的值:
const para=document.querySelector('p');
第4段附录(新文本('baz'));//如果不正常化,将继续存在
console.log(“规范化之前”);
log('textContent:',para.firstChild.textContent);
console.log('wholeText:',第firstChild.wholeText段);
正常化()段;
console.log(“规范化后”);
log('textContent:',para.firstChild.textContent);
console.log('wholeText:',第firstChild.wholeText段);
//现在我们可以将wholeText设置为我们想要的任何内容。
para.firstChild.textContent='Hello world'代码>
富吧
textNode继承自characterData()类,该类具有动态可写数据属性:
document.createTextNode('Original text').data = "replaced text';
TextNodes没有innerHTML
属性。这怎么可能是预期的继承者呢?tks,parentNode.normalize()帮助我解决了多个相邻文本节点的问题