.getAttribute(“name”)和.name之间有什么区别?
问题描述:
我有一个简单的Web应用程序与这样看它的输入文本字段:.getAttribute(“name”)和.name之间有什么区别?
<input id="txtip" type="text" value="10.1.1.50" />
地址10.1.1.50
是一个IP地址的缺省值。而从JavaScript谨以此阅读:
txtip.getAttribute("value")
现在让我们假设将其更改为10.1.1.49
。在谷歌浏览器的JavaScript代码以上仍然将返回10.1.1.50
,而表达
txtip.value
返回10.1.1.49
。
有什么区别?什么是“正确的方式”?
答
var el = document.getElementById('testBox');
$(document).focusout(function() {
alert('el.value = ' + el.value);
alert('el.getAttribute("value") = ' + el.getAttribute('value'));
e.preventDefault();
});
<h2>Change value in the text box</h2>
<input id="testBox" type="text" value="original value" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
发现这个网站上可以帮助你试试下面的代码类型的东西,事件的内容
不同的是,element.value是实时的,如果用户改变让我们说,一个文本框输入,它会反映出来,并显示给你新的价值。
尽管getAttribute('value')仍然会显示原始值=“whateverWasHere”的值。
您可以在stacksnippets中重现问题吗? – guest271314
'value'是'input'的一个属性,所以你可以通过'getAttribute'访问它,但'value'也是节点类型'input'的一个属性。我会使用'txttip.value' – JohanP