jQuery - 为什么 attr() 不一致地更新屏幕上显示的值

标签 jquery html browser

这里有两行jQuery

$("input[name=displayPrice1]").attr("value", vPrice);
$("input[name=displayPrice1]").val(vPrice);

这两行都更新了文本类型输入的值。

这是一个 fiddle http://jsfiddle.net/fZm7w/

请按照以下步骤操作:
1. 页面加载后:点击 set attr() - 空输入将取值 150
2. 点击 append row 并再次点击 set attr() - 两个输入都将达到 150
3. 手动更改两个输入中的值 - 例如 500 和 100
4. 点击 set attr() - 显示的值都不会改变,但是 value 属性会改变
5. 单击 set val() - 两个显示的值都将更新,但不会像预期的那样更新 attr 值

为什么当输入为空时 set attr() 会设置屏幕上的值,而当用户已填充内容时却不会?

最佳答案

.val() 给出输入字段中的实际值

.attr() 仅获取输入字段源中的属性值

关于jQuery - 为什么 attr() 不一致地更新屏幕上显示的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19777309/

相关文章:

javascript - 如何在文档的多个部分中重用表单和 jquery ajax 调用?

javascript - 从 Protractor 的右键菜单中选择翻译选项

javascript - 我们可以通过编程方式从 Firefox 中删除保存的密码吗?

javascript - jquery 数据属性集不起作用

javascript - jQuery:访问具有特定日期和文本的一串数字的总和

javascript - 获取多个 xml 文件?

javascript - 如何使用 jQuery 检查 ID 是否存在?

jquery - Bootstrap 数据表分页显示在新行中

html - CSS如何增加选择框元素之间的行距

javascript - Modernizr 与 HTML Shiv