簡體   English   中英

為什么我無法使用jQuery獲取此輸入字段的值?

[英]Why am I unable to get the value of this input field using jQuery?

一段時間以來,我一直在試圖弄清楚我的代碼出了什么問題,以及為什么它不能讓我得到輸入字段的值。

我的代碼如下所示:

 <script src="https://code.jquery.com/jquery-3.1.0.js"></script> <input type=text id="0.1.2_00_1" value=0> <script> console.log($('#0.1.2_00_1').val()) </script> 

為什么不起作用? 希望我不是真的很傻。

如果ID在jquery中帶有句點(特殊字符),則必須使用雙斜杠將其轉義:

console.log($('#0\\.1\\.2_00_1').val());

您需要逃避期間。 例如$('#0\\\\.1\\\\.2_00_1')

 <script src="https://code.jquery.com/jquery-3.1.0.js"></script> <input type=text id="0.1.2_00_1" value=0> <script> console.log($('#0\\\\.1\\\\.2_00_1').val()) </script> 

正如關於選擇器jQuery文檔所述

要將任何元字符(例如!"#$%&'()*+,./:;<=>?@[\\]^{|}~ )用作名稱的文字部分,必須以兩個反斜杠轉義: \\\\

id包含. 傳遞給JQuery選擇器的字符,將被解釋為CSS類限定符。

這導致JQuery查找id0的元素,該元素使用CSS類1和另一個名為2_00_1的CSS類。

官方規格 說:

“使用除ASCII字母,數字,'_','-'和'。以外的字符。 可能會導致兼容性問題,因為HTML 4不允許這樣做。盡管HTML 5取消了此限制,但ID應該以字母開頭以確保兼容性。”

如果可能的話,最好避免使用它們,而只對id使用字母數字值。

 <script src="https://code.jquery.com/jquery-3.1.0.js"></script> <input type=text id="x" value=0> <script>console.log($('#x').val())</script> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM