Kya*_*ite 5 html javascript jquery
我的 jQuery 中有一个隐藏元素:
<input type="hidden" id="1val" value="24">
var valID = $("#1val").attr("value");
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试打印 valID 时,它总是打印为未定义?我究竟做错了什么?
谢谢
.prop()使用or.val()方法获取当前属性总是更安全value:
var valID = $("#1val").val();
// or
var valID = $("#1val").prop("value");
Run Code Online (Sandbox Code Playgroud)
从 jQuery 1.9 版本开始,该.attr()方法将仅获取元素的属性,这可能无法真正反映元素的实际属性。
根据1.9 版发行说明,在.attr()vs下.prop():
输入元素上的 value 属性与 attribute 是这种歧义的另一个例子。该属性通常反映从 HTML 标记读取的值;该财产反映了当前价值。由于该
.val()方法是推荐的 jQuery 获取或设置表单元素值的方法,因此这种混淆通常不会影响用户。但是,当使用类似的选择器时
input[value=abc],它应该始终通过 value 属性进行选择,而不是用户对属性所做的任何更改,例如在文本输入中键入内容。从 jQuery 1.9 开始,这种行为正确且一致。早期版本的 jQuery 有时会在应该使用该属性时使用该属性。
从 1.9 版本开始,该.attr()方法将仅返回元素的当前属性(而不是属性)。属性和属性实际上可能并不相同。例如,如果元素上最初没有属性,然后使用诸如 之类的方法以编程方式设置该值.val(),则该属性不会发生更改,意味着.attr('value')将返回undefined。
如上所述,使用.prop()or.val()方法来获取元素的当前value属性。
| 归档时间: |
|
| 查看次数: |
3638 次 |
| 最近记录: |