首页 > 解决方案 > 给出 input.value 和 input.textContent 之间的区别。为什么用一种代替另一种?

问题描述

为什么input.value使用它而不是input.textContent. 两者有什么区别?

例如,如果我想从输入框中检索内容

<input type="number">

我必须使用这段代码

var input = document.querySelector("input");

input.value

而不是这个

input.textContent

只是想更清楚地了解每一个。

标签: javascriptdom

解决方案


来自MDN

[...]textContent返回textContent每个子节点的连接,不包括注释和处理指令。如果节点没有子节点,则这是一个空字符串。

本质上,textContent为您提供了节点包含的内容的文本表示。把它想象成开始和结束标签之间的一切,例如

console.log(document.querySelector('span').textContent);
<span> this text </span> but not this one

<input>但是元素不能有子元素 (内容模型:没有)。与它们关联的值只能通过value属性访问。


推荐阅读