我以为这两个是一样的,但他们似乎不是。我通常一直在使用 $obj.attr("value")
来处理表单字段,但在我当前正在构建的页面上,$obj.attr("value")
不返回我在字段中输入的文本。但是,$obj.val()
可以。
在我构建的另一个页面上,$obj.attr("value")
和 $obj.val()
都返回在表单中输入的文本 field 。
什么可以解释 $obj.attr("value")
在一种情况下按预期工作但在另一种情况下却没有?
使用 jQuery 设置和检索表单字段值的正确方法是什么?
最佳答案
对象属性和对象属性之间有一个很大的区别
请参阅此问题(及其答案)了解一些差异:.prop() vs .attr()
要点是 .attr(...)
仅在开始时(创建 html 时)获取对象值。 val()
正在获取对象的 property 值,该值可以多次更改。
关于jQuery .val() 与 .attr ("value"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8312820/