我只是想知道两者之间有什么区别。我注意到这两种方法有时会给出不同的结果。
问问题
9733 次
2 回答
24
不同之处在于它element.value
是实时的,如果用户更改了文本框输入,它将反映这一点,并向您显示新值。
WhilegetAttribute('value')
仍将显示原始value="whateverWasHere"
值。
于 2012-08-15T17:01:54.177 回答
10
.value
不映射到任何属性。
.defaultValue
映射到"value"
属性。因此,当您说elem.getAttribute("value")
这与elem.defaultValue
.
此外,.defaultValue
反映.value
输入未触及的时间(脏值标志为 false)。用户交互更改输入值后,此映射停止。当输入未被改变时,您可以更改.defaultValue
(因此.setAttribute("value")
)并看到它也发生了变化.value
。并不是说这实际上有用,但有趣的琐事。
于 2012-08-15T17:05:19.303 回答