这就是我在 jQuery 1.9.1 之前获取输入文本值的方式
<input type="text" id="input_text_Id"
...
$("#input_text_Id").attr('value')
当我将我的 jQuery 版本升级到 1.9.1 时它不再起作用,所以显然它已被弃用。
我还有哪些其他选择?
我也很好奇,为什么 jQuery 创建者不断删除可以正常工作的功能?我假设安全漏洞可能是其中之一。
这就是我在 jQuery 1.9.1 之前获取输入文本值的方式
<input type="text" id="input_text_Id"
...
$("#input_text_Id").attr('value')
当我将我的 jQuery 版本升级到 1.9.1 时它不再起作用,所以显然它已被弃用。
我还有哪些其他选择?
我也很好奇,为什么 jQuery 创建者不断删除可以正常工作的功能?我假设安全漏洞可能是其中之一。
attr("value")
(和本机getAttribute("value")
)返回属性。
val()
(和本机value
)返回属性。
这里的重要区别是属性本质上是“默认值”,而属性是当前值。
这是一个演示。
正确的方法是通过val() 函数使用检索值属性。
如果您在输入元素的当前值之后。然后只需使用.val()
:
$("#input_text_Id").val();
.attr('value')
返回属性的值value
(在您键入文本时不会更改),而不是.value
属性(确实会更改)。
输入此文本框并查看您的控制台以了解我的意思。
$('#input_text_Id').val();
至于 jQuery 团队为什么选择去掉你以前使用的方法,我不知道。我怀疑这个方法被关闭了,因为从输入中获取值并不是真正从它的“值”属性派生的。我相信获取输入的实际值是从 DOM 中输入的“值”属性中提取的。