JavaScript Element.value与Element.getAttribute("value")

Meh*_*ran 8 javascript html5 attributes dom

我最近开始学习JavaScript,但有一些我很困惑的事情:

Element.value 之间有什么不同Element.getAttribute("value")

实际上我的问题是,当我尝试将input类型的元素的值复制text到另一个时,如果我使用第一个方法(Element.value)它工作正常但是如果我使用第二个方法它复制给元素的第一个值当我改变里面的文字时它永远不会更新textbox,这种行为对我来说似乎很奇怪!你能解释一下这里发生了什么吗?

<html>
<head>
    <meta charset="utf-8">
    <title>Hello JavaScript</title>
    <script src="script2.js"></script>
</head>
<body>
    <input id="Text1" type="text" />
    <input id="Button1" type="button" value="button" />
    <input id="Text2" type="text" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

JavaScript文件:

var myButton;

window.onload = function () {

    myButton = document.getElementById("Button1");
    myButton.onclick = function () {
        var val = document.getElementById("Text1").getAttribute("value");  
        //var val = document.getElementById("Text1").value;
        document.getElementById("Text2").setAttribute("value", val);
    };

};
Run Code Online (Sandbox Code Playgroud)

Nav*_*kar 9

不同之处在于它element.value是实时的,如果用户改变了一个文本框输入,它将反映出来,并显示新值.

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

jsFiddle DEMO