Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 给出input.value和input.textContent之间的差异。为什么用一个代替另一个?_Javascript_Dom - Fatal编程技术网

Javascript 给出input.value和input.textContent之间的差异。为什么用一个代替另一个?

Javascript 给出input.value和input.textContent之间的差异。为什么用一个代替另一个?,javascript,dom,Javascript,Dom,为什么使用input.value而不是input.textContent。两者的区别是什么 例如,如果我想从输入框中检索内容 <input type="number"> 而不是这个 input.textContent 只是想对每一个都有更清楚的了解。来自: […]textContent返回每个子节点的textContent的串联,不包括注释和处理指令。如果节点没有子节点,则此字符串为空 本质上,textContent为您提供了节点所包含内容的文本表示。可以将其视为介于开始和结束标

为什么使用input.value而不是input.textContent。两者的区别是什么

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

<input type="number">
而不是这个

input.textContent
只是想对每一个都有更清楚的了解。

来自:

[…]
textContent
返回每个子节点的
textContent
的串联,不包括注释和处理指令。如果节点没有子节点,则此字符串为空

本质上,
textContent
为您提供了节点所包含内容的文本表示。可以将其视为介于开始和结束标记之间的所有内容,例如

console.log(document.querySelector('span').textContent)

此文本而非此文本
只有输入元素有“值”。它表示由用户提供或最初由代码提供的输入数据。而textContent属性设置或返回指定节点及其所有子节点的文本内容


textContent返回每个子节点的textContent的串联,不包括注释和处理指令,如果节点没有子节点,则textContent将为空字符串。

input.value
用于表单元素获取表单元素的值
input.textContent
用于其他元素获取元素的内容。@codeherk的可能重复项如何重复,您添加的链接询问“Value”是否仅用于操作输入类型控件的文本内容”,我要求更清楚地理解value和textContent之间的区别。
textContent
基本上获取节点的所有文本子节点。每个元素节点都具有此属性。可以将其视为在开始标记和结束标记之间随意获取文本(即
此文本
)。但它只适用于具有子元素的元素。输入元素节点没有子节点。如果您考虑HTML,它是有意义的:
。开始标记和结束标记之间没有文本(因为没有结束标记[技术上也没有开始标记]),因此没有
textContent
,但有一个
属性。这很有意义。谢谢@Felix Kling
input.textContent