這是我用來輸入文本值獲得之前的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