为什么我无法使用jQuery获取此输入字段的值?

时间:2017-08-07 20:24:59

标签: javascript jquery html

我一直试图弄清楚我的代码出现了什么问题,为什么它不会让我获得输入字段的值。

我的代码如下所示:

<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>

为什么这不起作用?希望我不只是真的很蠢。

4 个答案:

答案 0 :(得分:4)

如果一个ID在jquery中带有一个句点(特殊字符),你必须使用双斜杠来逃避它:

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

答案 1 :(得分:3)

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

&#13;
&#13;
<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>
&#13;
&#13;
&#13;

作为jQuery docs on selectors州:

  

使用任何元字符(例如   !"#$%&'()*+,./:;<=>?@[\]^{|}~)作为名称的字面部分,它必须   使用两个反斜杠进行转义:\\

答案 2 :(得分:1)

id包含.字符,当传递给JQuery选择器时,它被解释为CSS类限定符。

它导致JQuery查找id 0使用CSS类1而另一个2_00_1的元素id

官方spec.说:

  

&#34;使用ASCII字母,数字,&#39; _&#39;,&#39; - &#39;以外的字符。和&#39;。&#39;可以   导致兼容性问题,因为HTML 4中不允许这样做。   虽然HTML 5中已取消此限制,但应启动ID   带有兼容性的信件。&#34;

最好避免它们,如果可能的话,只使用<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>的字母数字值。

&#13;
&#13;
System.Data.SqlClient.SqlException: 'login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.'
&#13;
&#13;
&#13;

答案 3 :(得分:0)

请勿在ids&#39;上使用<script src="https://code.jquery.com/jquery-3.1.0.js"></script> <input type=text id="012_00_1" value=0> <script>console.log($('#012_00_1').val())</script> ,所以写下:

<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> <!-- because '.' means a class in jquery selectors -->

或者:

{{1}}