2015-07-04 26 views
4

我很困惑JavaScript中的.innerHTML.value之间的区别。这里是我的代码:JS中的“.innerHTML”和“.value”之间的差异

<body> 
Input string: <input type="text" id="input" /> 
.... 
</body> 

当我使用这个代码,我不能让输入字符串的内容:

var str=document.getElementById("input").innerHTML; 

虽然我使用下面的代码,它的工作原理:

var str=document.getElementById("input").value; 

任何人都知道他们之间有什么区别?

+1

不同的节点支持不同的方法,什么是混淆? – Nit

回答

2

.innerHTML属性引用文字HTML标记,该标记一旦被分配,解释并合并到当前文档的DOM(文档对象模型)中。另一方面,.value属性只是指通常为HTML输入控件的内容,如文本框。并非每个HTML元素都支持输入属性,而大多数(如果不是全部)都支持innerHTML属性。

14

value是指输入元件(或textearea)

<input value="hello world"> 

值将是的值"hello world"(或内部输入的任何值)


innerHTML指HTML里面的内容元件。

<div> 
    <span class="hello"> 
    All tags and their children are include in innerHTML. 
    </span> 
    All this is part of innerHTML. 
</div> 

div标签的innerHTML将是字符串:

'<span class="hello"> 
    All tags and their children are include in innerHTML. 
    </span> 
    All this is part of innerHTML.' 
1

。价值给你的表格元素(输入,选择,文本区域)的当前设定值,而.innerHTML构建一个基于元素包含的DOM节点的HTML字符串。

相关问题