javascript - 如何从 DOM 中删除特定的文本节点

标签 javascript jquery html firefox dom

我正在尝试删除文本节点“one”。

$targetDiv 是 jQuery 对象

$targetDiv[0].outerHTML
<div><div>one<font face="Impact" size="4">www</font></div></div>

$targetDiv[0].innerHTML
<div>one<font face="Impact" size="4">www</font></div>

我可以删除其他文本节点“www”,如下所示:

$targetDiv.find("font").each(function ()
{
   if (this.firstChild.nodeType === 3)
   {
       this.firstChild.data = "";
   }
}); 

但是很难删除“一”部分。

$targetDiv[0].firstChild
<div>

$targetDiv[0].firstChild.data
undefined

$targetDiv[0].firstChild.innerText
undefined

$targetDiv[0].firstChild.innerHTML
"one<font face="Impact" size="4">www</font>"

$targetDiv[0].firstChild.innerText
undefined

$targetDiv[0].firstChild.textContent
"onewww"

最佳答案

目前还不清楚这是在什么上下文中,或者 $targetDiv 是什么,但根据您获得的结果,我们可以假设您使用的是 Firefox,并且 $targetDiv 是第一个 div,这应该可以工作

$($targetDiv.find("div").get(0).firstChild).remove();

FIDDLE

关于javascript - 如何从 DOM 中删除特定的文本节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23274493/

相关文章:

javascript - 将 OCRed 非结构化文本转换为正确的文本

javascript - getElementsByTagName 不起作用简单 JS

javascript - Bootstrap 下拉按钮不适用于 3.3.6 版本

javascript - 提取网页的源代码

javascript - 如何在Phaser3中添加Lottie动画?

javascript - PHP在网站打开时打开弹出窗口但只是第一次

javascript - 语言更改加载

javascript - 多次加载同一页面时,PHP 页面内容从缓存加载

html - 评级使星号在悬停时填充

javascript - 您如何设计单个 JQuery 自动完成小部件的样式?