Java 脚本中的 getAttribute(attr) 方法返回属性的先前值
getAttribute(attr) method in Java Script returning previous value of attribute
无法理解为什么elem.getAttribute("someAttribute"(不返回更新的值。
<body>
<input type="text" value="previousValue">
<script>
var input = document.body.children[0]
input.value = 'newValue'
alert(input.getAttribute('value')) // 'previousValue', not changed!
</script>
</body>
谁能解释一下?
虽然元素实例上的某些属性确实是属性的直接反映(例如,rel
属性直接反映link
元素上的rel
属性,className
直接反映class
属性(,但情况并非总是如此。
value
属性不是 value
属性的直接反映。它从属性中获取其初始值,但设置它不会影响属性(该属性仍可通过 getAttribute
和 defaultValue
属性使用(。(还有其他一些不是直接反射;a
元素上的 href
属性为您提供绝对路径,但 href
属性可能是相对路径。
如果要设置该属性,请使用 setAttribute
。(并在您要支持的任何IE版本上仔细测试,因为Microsoft有出错的历史。
试试这个,它正在工作:
<body>
<input type="text" value="previousValue">
<script>
var input = document.body.children[0];
input.setAttribute('value', 'newValue');
alert(input.getAttribute('value')); // 'previousValue', not changed!
</script>
</body>
我们可以通过两种类型访问 JS 中的对象
input.value or input[value]
所以你必须使用第二个
<body>
<input type="text" value="previousValue">
<script>
var input = document.body.children[0]
input[value] = 'newValue'
alert(input.getAttribute('value')) // Now Changed
</script>
</body>
相关文章:
- 窗口对象属性返回一个dom节点
- 根据其他属性返回的值设置属性
- 访问javascript对象的属性返回undefined,原因是什么
- 将javascript(jQuery)对象属性返回到默认状态
- 如何设置我们从 JavaScript 中其他元素的属性返回的值 onclick 函数
- JQuery 最接近属性返回未定义
- 为什么我的模型中的默认属性返回未定义
- 筛选器深层嵌套属性返回空数组
- 为什么属性返回未定义而不是对象
- JavaScript 和 jQuery,创建和使用一个对象.属性返回未定义
- Ember异步计算属性返回未定义的
- 连接对象的值's属性返回NaN(Javascript)
- parseInt正在为CSS属性返回NaN
- (ember.js)Get-Binding属性返回undefined
- ArrayController属性返回字符串字面量
- jQuery - get属性返回undefined
- 属性返回原始值,而不是通过方法调用更新的值
- 在等待$onInit回调完成时,我应该为Angular绑定的属性返回什么?
- 如何从数据值属性返回负值?
- 遍历对象属性返回所有对象属性