如果您想使用Javascript更改HTML,您如何知道何时使用以下任何一种?
document.getElementById("randomNumber").value = number;
document.getElementById("randomNumber").innerHTML = number;
答案 0 :(得分:38)
设置value
通常用于输入/表单元素。 innerHTML
通常用于div,span,td和类似元素。
以下是显示ID.value使用情况的链接: http://www.javascript-coder.com/javascript-form/javascript-form-value.phtml
答案 1 :(得分:9)
value
适用于表单元素innerHTML
。
还有innerText
如果你想设置文本内容(你不必在那里转义任何东西,但那里没有HTML)
答案 2 :(得分:6)
value
通常是特定i / o元素的属性,例如input
元素(也包括type="hidden"
)。
不属于div, p, a, etc.
的元素通常甚至没有value属性,即使设置了value
,也不会影响最终输出。
答案 3 :(得分:2)
value
表示input
元素的GET或POST的值。 innerHTML
可以更改内容的实际元素。
答案 4 :(得分:2)
value
仅适用于具有value
属性的对象(通常为表单控件)。
innerHtml
适用于每个可以包含HTML的对象(div,spans,但许多其他对象以及表单控件)。
它们不等同或可替换。取决于你想要实现的目标......
答案 5 :(得分:1)
值是输入
div和span的innerHTML
答案 6 :(得分:0)
使用.innerHTML用您指定的有效HTML替换元素的整个内部主体。一个很好的例子就是在事件发生时在已存在的div中放置一个嵌套的div。
对请求值的表单元素使用.value,例如文本输入。
答案 7 :(得分:0)
对他来说有点晚了,但我也在寻找答案,我认为根据天际的答案 可以做这样的事情 谢谢
function enterValue() {
var childNodes = document.body.childNodes;
for (x of childNodes) {
if(x.nodeName=="INPUT"){
x.value = "my input value"
}else{
x.innerHTML = "my input value"
}
}
}
<!DOCTYPE html>
<html>
<body>
<input name="mInput" />
<div></div>
<p id="demo"></p>
<input type="button" onclick="enterValue()" value="enterValue">
</body>
</html>