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

前端之家收集整理的这篇文章主要介绍了为什么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.f2er.com/jquery/175706.html

猜你在找的jQuery相关文章