微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么jQuery val()函数不更新属性“值”?

在完成网站之后,我遇到了这个问题的方式,因为我必须在ajax基础页面中实现历史记录(需要使用html更新某些地方(包括简单文本输入的表单,那就是问题,他们没有得到)它们的值分配,因为它们的值由val()设置,而不是由attr())).我注定要替换所有的 javascript
$('#xxx').val('someValue');

$('#xxx').attr('value','someValue');

还是有一些希望绕过这个?

一个很简单的例子here.如你所见,在对话框中,属性值没有在HTML代码中设置.

解决方法

它使用底层的本机element.value =’someValue’当然设置元素的value属性
element.property_to_set = 'new_value';

所以它不会改变这个属性

element.setAttribute('value','someValue')

这是attr()在内部,而prop()更改属性,就像val().它改变属性的原因是,该属性是表单提交中使用的,通常用于将值还原到javascript中,因此粘贴属性而不是属性是有意义的,由于属性通常仅用于设置属性的初始值,并且随后使用javascript更改属性不会更新属性,这与您正在使用的属性相反,这会影响所有表单提交并成为一个重大问题.

原文地址:https://www.jb51.cc/jquery/175706.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐