相关疑难解决方法(0)

使用文本节点时,我应该使用"data","nodeValue","textContent"还是"wholeText"字段?

可能重复:
如何检索DOM Text节点的文本?

在我处理DOM变异观察者的实验中,我注意到当target文本节点有四个字段都包含节点的新文本时.

  • data
  • nodeValue
  • textContent
  • wholeText

对于我应该使用哪些领域,是否存在"最佳实践"?

有些只是为了兼容其他浏览器或旧的DOM标准吗?是否我正在阅读与修改文本有什么不同?如果最好的是其他人的目的是什么?

html dom cross-browser textnode

38
推荐指数
1
解决办法
8193
查看次数

IE9中文本节点上的"nodeValue"属性类型=="unknown"

我正在做一个正在做DOM树行走的项目.为了插入一些span标记以向文档添加高亮,有时需要拆分textnode:

var newTextNode = treeWalker.currentNode.splitText(charOffset);
Run Code Online (Sandbox Code Playgroud)

问题是当我接下来试着打电话时:

if (newTextNode.nodeValue == "")
{
    //...
}
Run Code Online (Sandbox Code Playgroud)

这个.nodeValue调用在IE9中产生一个JavaScript错误,简单地Incorrect function. 说,至少可以说是完全无益的.思考也许是一些奇怪的事情,我打开了调试器并执行:typeof newTextNode.nodeValue返回"unknown".

有人能够解释这种行为吗?我想也许这个函数根本不适用于文本节点,但它在其他场景中运行得很好.只有在打电话之后splitText,它似乎才会呕吐.

我感谢大家的帮助!我的谷歌到目前为止还不够.

加成:

查看newTextNode对象后,还有更多属性评估为"不正确的函数"

  • 数据
  • 长度
  • 的nodeValue
  • 的textContent
  • wholeText

javascript internet-explorer-9

1
推荐指数
1
解决办法
1527
查看次数