为什么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更改属性不会更新属性,这与您正在使用的属性相反,这会影响所有表单提交并成为一个重大问题.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...