document.getElementById("test").value
document.getElementById("test").innerHTML
第一个是指地址,第二个是指存储在该地址的值吗?此外,我在哪里可以找到关于"value"属性的文档?
document.getElementById("test").value
document.getElementById("test").innerHTML
.value
用于获取表单元素(input
、select
、textarea
)的当前值,而.innerHTML
基于元素包含的DOM节点构建一个HTML字符串。
举个简单的例子,可以前往JS Fiddle demo,输入新值到input
中,然后移出该输入框。
测试使用以下JavaScript代码:
document.getElementById('input').onchange = function(){
alert('innerHTML: ' + document.getElementById('input').innerHTML + '; whereas value: ' + document.getElementById('input').value);
};
(在下面的评论中,am not i am 留言后,上述文本已更新。)
.innerHTML
基于元素包含的DOM节点构建HTML字符串”*(或类似的内容),因为DOM节点严格来说没有任何“HTML”内容。 - user1106925value
将会改变。<input type=text>
将给出其中的文本,因此value
实际上是该元素理解的值。innerHTML
则指该元素内部的HTML代码。例如,<TR>
将包含其子TD
以及其他任何内容。
value
和innerHTML
(通常情况下)既可读也可写。这与一些标签的属性相关,其中有些标签基于它们的属性工作,而其他标签则基于开闭标签之间的文本工作。
.value
检索标签 value
属性设置的任何值。 .innerHTML
检索开闭标签之间的任何内容。
例如,如果HTML标签是
<input type="text" value="Enter name here" id="user_name" />
并且您使用JavaScript
var name = document.getElementById('user_name').value
将声明一个变量 name
并赋予它值 "Enter name here"(假设用户没有更改它)。另一方面,如果您的HTML如下所示
<div id="abc">blah blah</div>
那么您需要使用
var text = document.getElementById('abc')
这将会把变量 text
设置为 "blah blah"。
document.getElementByid('test').value
用于在文本字段中赋值。例如:
<input type="text" id="test" name="test">
现在它将值放在这个文本字段中。
而 document.getElementByid('test').innerHTML
用于在指定区域中赋值。例如
<div id="test">
</div>