繁体   English   中英

输入元素中 textContent 的目的是什么?

[英]What is the purpose of textContent in an input element?

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

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

此外,设置属性后,输入在检查器中显示为具有子元素: 设置文本内容后的Safari检查器截图

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

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

DOM是不是HTML,但对于树结构,其与符合的API XML信息设置翻译<input>something</input>到输入元件后跟文本节点是HTML解析器的行为,而不是的行为DOM。

实际上,如果您使用 XHTML,作为application/xhtml+xml<input>something</input>将成为带有文本节点子节点的输入元素,与使用.textContent相同。 所以.textContent以它的方式工作是完全正常的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM