12

私はちょうど2つの違いが何であるか疑問に思っています. 2 つの方法で異なる結果が得られる場合があることに気付きました。

4

2 に答える 2

24

違いはelement.valueリアルタイムであり、ユーザーがテキストボックスの入力を変更すると、それが反映され、新しい値が表示されることです。

getAttribute('value')それでも元の値が表示されますvalue="whateverWasHere"

jsFiddle デモ

于 2012-08-15T17:01:54.177 に答える
10

.valueどの属性にもマップされません。

.defaultValue属性にマップし"value"ます。だからあなたが言うとき、それelem.getAttribute("value")はと同じelem.defaultValueです。

さらに、入力が変更されていない場合 (ダーティ値フラグが false.defaultValueの場合) に反映されます。ユーザーの操作によって入力の値が変更されると、このマッピングは停止します。入力が変更されていない間は、変更することができ(したがって)、それも変更されるのを確認できます。これは実際に役立つというわけではありませんが、それでも興味深いトリビアです。.value.defaultValue.setAttribute("value").value

于 2012-08-15T17:05:19.303 に答える