未捕获错误:语法错误,无法识别的表达式:#'10/12 / 2015'(...)

时间:2015-12-03 15:32:24

标签: javascript click

这个javascript字符串给了我这个错误:Uncaught Error:语法错误,无法识别的表达式:#'10/12/20'(...)。

$("#10/12/2015").click();
什么错了?

由于 马库斯

2 个答案:

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