使用Javascript设置innerHTML与设置值

时间:2012-01-11 17:08:59

标签: javascript dom

如果您想使用Javascript更改HTML,您如何知道何时使用以下任何一种?

document.getElementById("randomNumber").value = number;
document.getElementById("randomNumber").innerHTML = number;

8 个答案:

答案 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>