Element.value和Element.getAttribute(“value”)之间的区别

时间:2012-08-15 16:59:06

标签: javascript html dom

我只是想知道两者之间的区别。我注意到这两种方法有时会产生不同的结果。

2 个答案:

答案 0 :(得分:17)

不同之处在于element.value是实时的,如果用户更改,例如文本框输入,则会反映出来,并显示新值。

虽然getAttribute('value')仍会显示原始value="whateverWasHere"值。

jsFiddle DEMO

答案 1 :(得分:10)

.value不会映射到任何属性。

.defaultValue映射到"value"属性。因此,当您说elem.getAttribute("value")elem.defaultValue相同时。

此外,.defaultValue反映输入未受影响时的.valuedirty value flag is false)。通过用户交互更改输入的值后,此映射将停止。虽然输入未受影响,但您可以更改.defaultValue(以及.setAttribute("value"))并查看其更改.value。并不是说这实际上是有用的,但有趣的是琐事。