document.getElementById(“test”)。value和document.getElementById(“test”)之间的区别是什么.internalHTML

时间:2012-01-29 22:10:14

标签: javascript html dom innerhtml

document.getElementById("test").value

document.getElementById("test").innerHTML

第一个是指地址,第二个是指存储在地址的值吗?另外,我在哪里可以找到value属性的文档?

5 个答案:

答案 0 :(得分:10)

.value为您提供表单元素的当前设置值(inputselecttextarea),而.innerHTML构建基于HTML的字符串在元素包含的DOM节点上。

举一个简单的例子,转到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留下的评论后更新,在下面的评论中。)

答案 1 :(得分:3)

某些HTML元素具有属性"value",例如<input/>其他一些元素没有。

如果要修改它们,可以使用DOM属性(与Javascript一起使用)innerHTML(如果有的话)。此属性表示元素的内容,因此它可用于接受嵌套其他元素的元素,例如<div/>

答案 2 :(得分:3)

HTML中的许多元素都可以有ID,因此value的定义会因每个元素而改变。

value本质上是该元素理解为值的东西。例如,<input type=text>会为您提供内部文字。

innerHTML将是HTML代码的内容。例如,<TR>会有其子TD,以及其他任何内容。

valueinnerHTML可以(通常)写入和阅读。

答案 3 :(得分:1)

它与某些标签的工作方式有关,这些标签基于其属性,其他标签处理开始标记和结束标记之间的文本。

.value检索为代码的value属性设置的任何值。 .innerHTML检索开始和结束标记之间的内容。

例如,如果HTML标记是
<input type="text" value="Enter name here" id="user_name" />
你使用了JavaScript var name = document.getElementById('user_name').value
将声明一个变量name并为其赋予值“在这里输入名称”(假设用户没有更改它)。另一方面,如果您有像<div id="abc">blah blah</div>
然后你会用左 var text = document.getElementById('abc')
这会将变量text设置为“blah blah”。

答案 4 :(得分:0)

document.getElementByid('test').value

用于在文本字段中给出值。像

<input type="text" id="test" name="test">

现在它把价值放在这个文本中。

document.getElementByid('test').innerHTML 用于在指定区域给出值。喜欢

<div id="test">
</div>

现在它在div区域内打印值。