这是我用来输入文本值获得之前的jQuery 1.9.1正确方法1.9.1
<input type="text" id="input_text_Id"
...
$("#input_text_Id").attr('value')
它不再工作时,我升级我的jQuery版本1.9.1,显然它已被弃用。
我的其他选择是什么?
我也很好奇,是什么原因jQuery的创造者保持去除没有任何问题的工作特点是什么?我假设安全漏洞可能是其中之一。
这是我用来输入文本值获得之前的jQuery 1.9.1正确方法1.9.1
<input type="text" id="input_text_Id"
...
$("#input_text_Id").attr('value')
它不再工作时,我升级我的jQuery版本1.9.1,显然它已被弃用。
我的其他选择是什么?
我也很好奇,是什么原因jQuery的创造者保持去除没有任何问题的工作特点是什么?我假设安全漏洞可能是其中之一。
对于一些未知的原因,事实并非如此。它引发一个未定义的错误。 – l46kok
@ l46kok:发布完整的错误消息。 – Blender
您是否关闭了您的'输入'元素或是您的问题代码只是一个快速而脏的复制和粘贴?什么是完整的错误信息? – SomeShinyObject
attr("value")
(和本地getAttribute("value")
)返回属性。
val()
(和原生value
)返回财产。
这里最重要的区别是,属性是本质上是“默认值”,而房地产是当前一个。
Here是一个演示。
正确的方法是使用通过val() function检索值属性。
如果您在输入元素的当前值之后。然后只使用.val()
:
$("#input_text_Id").val();
.attr('value')
返回value
属性的值(当你键入文本不改变),而不是.value
属性(不改变)。
Type in this textbox,并期待在您的控制台明白我的意思。
$('#input_text_Id').val();
至于为什么jQuery团队选择删除您习惯使用的方法,我不知道。我怀疑这个方法是关闭的,因为从输入中获取值并不是真正从它的“value”属性派生的。我相信获取输入的实际值是从DOM中输入的“value”属性中提取的。
http://api.jquery.com/val – Blazemonger