我最近开始学习 JavaScript,但有些东西让我感到困惑:
I've started learning JavaScript recently but there's something that I'm confused with :
Element.value 和 Element.getAttribute("value") ?
实际上我的问题是,当我尝试将类型为 text 的 input 元素的值复制到另一个时,如果我使用第一种方法(Element.value) 它工作正常,但是如果我使用第二种方法它会复制给元素的第一个值,并且当我更改 textbox 内的文本时它永远不会更新,这种行为对我来说似乎很奇怪!你们能解释一下这里发生了什么吗?
actually my problem is , when I try to copy the value of an input element with type of text to another one , if I use the first method (Element.value) It works fine but if I go with the second method It copies the first value given to the element and It never gets updated when I change the text inside the textbox , this behavior seems odd to me ! can you guys please explain what's going on here ?
<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 文件:
The JavaScript file :
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 是实时的,如果用户更改,比如说文本框输入,它将反映,并向您展示新值.
The difference is that element.value is real time and if a user changes let's say, a textbox input, it will reflect that, and show you the new value.
虽然 getAttribute('value') 仍会显示原始 value="whateverWasHere" 值.
While getAttribute('value') will still show the original value="whateverWasHere" value.
jsFiddle 演示
这篇关于JavaScript Element.value 与 Element.getAttribute("value")的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
在 Angular 2/Typescript 中使用 IScrollUse IScroll in Angular 2 / Typescript(在 Angular 2/Typescript 中使用 IScroll)
Anime.js 在 Ionic 3 项目中不起作用anime.js not working in Ionic 3 project(Anime.js 在 Ionic 3 项目中不起作用)
Ionic 3 - 使用异步数据更新 ObservableIonic 3 - Update Observable with Asynchronous Data(Ionic 3 - 使用异步数据更新 Observable)
Angular 2:在本地 .json 文件中找不到文件Angular 2: file not found on local .json file(Angular 2:在本地 .json 文件中找不到文件)
在 Ionic 2 中,如何创建使用 Ionic 组件的自定义指In Ionic 2, how do I create a custom directive that uses Ionic components?(在 Ionic 2 中,如何创建使用 Ionic 组件的自定义指令?)
将 ViewChild 用于动态元素 - Angular 2 &离子2Use ViewChild for dynamic elements - Angular 2 amp; ionic 2(将 ViewChild 用于动态元素 - Angular 2 amp;离子2)