相关疑难解决方法(0)

nodeValue vs innerHTML和textContent.怎么选择?

我使用普通的js来改变标签元素的内部文本,我不确定我应该使用innerHTML或nodeValue或textContent.我不需要创建新节点或更改HTML元素或任何东西 - 只需替换文本.这是代码的示例:

var myLabel = document.getElementById("#someLabel");
myLabel.innerHTML = "Some new label text!"; // this works

myLabel.firstChild.nodeValue = "Some new label text!"; // this also works.

myLabel.textContent = "Some new label text!"; // this also works.
Run Code Online (Sandbox Code Playgroud)

我查看了jQuery源代码,它使用了nodeValue一次,但是innerHTML和textContent几次.然后我发现这个jsperf测试表明firstChild.nodeValue明显更快.至少这就是我所说的意思.

如果firstChild.nodeValue快得多,那捕获的是什么?它没有得到广泛支持吗?还有其他问题吗?

javascript dom innerhtml nodevalue

119
推荐指数
4
解决办法
7万
查看次数

innerText vs innerHtml vs label vs text vs textContent vs outerText

我有一个由Javascript填充的下拉列表.

在确定应该在加载时显示的默认值时,我意识到以下属性显示完全相同的值:

  • innerText
  • innerHtml
  • label
  • text
  • textContent
  • outerText

我自己的研究显示了基准测试或其中几个测试之间的比较,但不是全部.

我可以使用我自己的常识并选择1或其他因为它们提供相同的结果,但是,我担心如果数据要改变,这不是一个好主意.

我的发现是:

  • innerText 将按原样显示该值,并忽略可能包含的任何HTML格式
  • innerHTML 将显示该值并应用任何HTML格式
  • label看来是一样的innerText,我看不出差别
  • text似乎innerText与jQuery简写版本相同
  • textContent看起来像是一样innerText但保持格式化(例如\n)
  • outerText 似乎是一样的 innerText

我的研究只能采取我太厉害,我只能考什么我能想到的或读到的东西发布后,任何一个可以确认但如果我的研究是正确的,如果有什么特别的labelouterText

html javascript dom

114
推荐指数
4
解决办法
6万
查看次数

标签 统计

dom ×2

javascript ×2

html ×1

innerhtml ×1

nodevalue ×1