这个javascript字符串给了我这个错误:Uncaught Error:语法错误,无法识别的表达式:#'10/12/20'(...)。
$("#10/12/2015").click();
什么错了?
由于 马库斯
答案 0 :(得分:2)
您需要转义选择器中的/。
$("#10\\/12\\/2015").val("aaaa");

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="10/12/2015" />
&#13;
jQuery在他们的selectors documentation page上解释它。
答案 1 :(得分:0)
/
字符不能在CSS id
选择器中按字面意思使用。请参阅rules for CSS identifiers。此外,字符1
不能用作id
选择器的第一个字符。
如果您确实拥有该日期id
的元素,则可以使用属性选择器:
$('[id="10/12/2015"]').click();
或者,getElementById
:
$(document.getElementById("10/12/2015")).click();
或者,使用/
的{{1}}或\2F
的CSS转义,以及\/
的{{1}}(但不是{{} 1}});当然,这些反斜杠需要转义为字符串,所以:
1
(我们需要空格,以便CSS解析器知道转义序列已经结束;否则忽略空格;它们不解释为后代组合子。)
所有这些选项的 实例,包括在CSS中使用它们来证明它们有效(并且\31
没有):
\1
$("#\\31 0\\2f 12\\2f 2015").click();
// or
$("#\\31 0\\/12\\/2015").click();
#1...