2013-03-29 27 views
0

这是我用来输入文本值获得之前的jQuery 1.9.1正确方法1.9.1

<input type="text" id="input_text_Id" 

... 

$("#input_text_Id").attr('value') 

它不再工作时,我升级我的jQuery版本1.9.1,显然它已被弃用。

我的其他选择是什么?

我也很好奇,是什么原因jQuery的创造者保持去除没有任何问题的工作特点是什么?我假设安全漏洞可能是其中之一。

+1

http://api.jquery.com/val – Blazemonger

回答

3

不应该了以下工作:

$("#input_text_Id").val(); 

这就是我一直使用。

这里的documentation on val()

+0

对于一些未知的原因,事实并非如此。它引发一个未定义的错误。 – l46kok

+0

@ l46kok:发布完整的错误消息。 – Blender

+0

您是否关闭了您的'输入'元素或是您的问题代码只是一个快速而脏的复制和粘贴?什么是完整的错误信息? – SomeShinyObject

1

attr("value")(和本地getAttribute("value"))返回属性

val()(和原生value)返回财产

这里最重要的区别是,属性是本质上是“默认值”,而房地产是当前一个。

Here是一个演示。

0

如果您在输入元素的当前值之后。然后只使用.val()

$("#input_text_Id").val(); 

.attr('value')返回value属性的值(当你键入文本不改变),而不是.value属性(不改变)。

Type in this textbox,并期待在您的控制台明白我的意思。

0

$('#input_text_Id').val();

至于为什么jQuery团队选择删除您习惯使用的方法,我不知道。我怀疑这个方法是关闭的,因为从输入中获取值并不是真正从它的“value”属性派生的。我相信获取输入的实际值是从DOM中输入的“value”属性中提取的。