gpt4 book ai didi

jquery - 为什么 jQuery val() 函数不更新属性 'value' ?

转载 作者:行者123 更新时间:2023-12-03 22:21:19 25 4
gpt4 key购买 nike

我在完成网站后遇到了这个问题,因为我必须在基于ajax的页面中实现历史记录(这需要使用html更新某些位置(其中包括带有简单文本输入的表单)-这就是问题所在 - 他们没有分配自己的值,因为他们的值是由 val() 设置的,而不是 attr() - 谎言))。我注定要替换所有 javascript 吗

$('#xxx').val('someValue');

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

或者有希望绕过这个吗?

一个非常简单的例子 here 。正如您在对话框中看到的,属性 value 未在 html 代码中设置。

最佳答案

它使用底层的 native element.value = 'someValue',当然可以设置元素的属性

element.property_to_set = 'new_value';

所以它不会改变属性,那就是

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

这是 attr() 内部执行的操作,而 prop() 会更改属性,就像 val() 一样。
它更改属性的原因是,属性是表单提交中使用的属性,并且通常也用于在 javascript 中获取值,因此坚持使用属性而不是属性是有意义的,因为该属性通常仅用于设置属性的初始值,稍后使用 javascript 更改该属性不会更新该属性,这将与您遇到的问题相反,并且会影响所有表单提交并成为一个主要问题。

关于jquery - 为什么 jQuery val() 函数不更新属性 'value' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20446948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com