我曾经认为这两者是相同的,但似乎不是。通常我使用 $obj.attr("value")
来处理表单字段,但在我当前正在构建的页面上,$obj.attr("value")
不返回我输入的文本。然而,$obj.val()
可以。
在另一个我构建的页面上,$obj.attr("value")
和 $obj.val()
都会返回在表单字段中输入的文本。
是什么原因导致 $obj.attr("value")
在某些情况下按预期工作,而在另一些情况下不工作?
使用jQuery设置和检索表单字段值的正确方式是什么?
val()
只能获取特定类型标签的值,例如您可以使用val()
获取输入框的值,但如果您将value
属性添加到a
标签或div
标签中,则无法使用val()
。您需要使用.attr("value")
。 - Seraf