JavaScript Element.value vs Element.getAttribute("value
JavaScript Element.value vs Element.getAttribute("value")
我最近开始学习JavaScript,但有一点我很困惑:
Element.value
和Element.getAttribute("value")
之间有什么不同
事实上,我的问题是,当我试图将类型为text
的input
元素的值复制到另一个元素时,如果我使用第一种方法(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>
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);
};
};
不同之处在于element.value
是实时的,如果用户更改(例如,文本框输入),它将反映这一点,并向您显示新值。
而getAttribute('value')
仍将显示原始的value="whateverWasHere"
值。
jsFiddle演示
value
属性的值是您在编写HTML时设置的值。
读取时,此属性的值用于填充元素的value
特性。
属性是您在使用Element.value
之后得到的属性,也是用户或大多数JavaScript函数更改的属性。当用户通过界面更改值时,属性不会更改。
简而言之,您几乎总是希望使用Element.value
,而几乎从不使用Element.getAttribute("value")
。
相关文章:
- jQuery:.click(function(){(element),collapse('show',f
- 在ember/handlers中使用value和valueBinding有什么区别
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- Javascript - element.childNodes does not see an append.newch
- 使用element简化onclick函数
- 需要url导航从DropDown Value onClick按钮传递url变量
- 用Javascript在下拉列表中选择VALUE选项
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- AngularJS,angular.element($0).scope()揭示了每个控制器的函数
- 如何使用element.myobj.prop等具有对象属性的元素
- element.dataset in Internet Explorer
- HTML Value finding
- Javascript GetElementByID has no value
- Element.value 和 Element.getAttribute(“value”) 之间的区别
- js表单验证中的docment.forms[“myForm”][“Element”].value命令
- 在 document.form.element.value 上触发 jquery
- Angular2 表单:在控制台上获取“对象”作为输入字段 element.value 的结果
- JavaScript Element.value vs Element.getAttribute("value
- 如何使用Element将value设置为“text”.属性名称IE浏览器
- 简单Javascript表单验证长度.(element.value.length<2)