我一直试图弄清楚我的代码出现了什么问题,为什么它不会让我获得输入字段的值。
我的代码如下所示:
<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>
为什么这不起作用?希望我不只是真的很蠢。
答案 0 :(得分:4)
如果一个ID在jquery中带有一个句点(特殊字符),你必须使用双斜杠来逃避它:
console.log($('#0\\.1\\.2_00_1').val());
答案 1 :(得分:3)
你需要逃避时期。例如$('#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>
&#13;
使用任何元字符(例如
!"#$%&'()*+,./:;<=>?@[\]^{|}~
)作为名称的字面部分,它必须 使用两个反斜杠进行转义:\\
。
答案 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>
的字母数字值。
System.Data.SqlClient.SqlException: 'login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.'
&#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}}