【问题标题】:What is the purpose of textContent in an input element?输入元素中 textContent 的用途是什么?
【发布时间】:2016-09-05 16:56:20
【问题描述】:

在 DOM 中提供了一个输入元素,它确实具有 textContent 属性以及 value。众所周知,输入的值是文本框中显示的值,并且该元素不能有任何子元素,即<input>something</input> 仍然给出一个空输入,后跟一个兄弟文本节点,而结束标记被完全忽略。但是,当我们为此输入的textContent 设置一个值时,它会以某种方式在往返过程中幸存下来:

input.textContent = 'something'
console.log(input.textContent)  // this works

此外,在设置属性后,输入在检查器中显示为具有子元素:

也许只有我一个人,但我在这里看不到任何逻辑上的一致性。将文本内容设置为输入时出现类型错误不是很好吗?

目前的行为背后有什么原因吗?

【问题讨论】:

    标签: javascript html dom


    【解决方案1】:

    DOM 不是 HTML,而是符合 XML information set 的树结构 API

    事实上,如果你使用XHTML,作为application/xhtml+xml<input>something</input>将成为一个带有文本节点子节点的输入元素,和使用.textContent一样。所以.textContent 的工作方式是完全正常的。

    【讨论】:

      猜你喜欢
      • 2011-04-07
      • 2018-01-31
      • 2018-03-26
      • 1970-01-01
      • 2011-05-21
      • 2012-10-29
      • 2014-10-20
      • 1970-01-01
      • 2022-04-11
      相关资源
      最近更新 更多