Javascript 以整数开头的ID的无法识别的表达式出现错误

Javascript 以整数开头的ID的无法识别的表达式出现错误,javascript,jquery,css,Javascript,Jquery,Css,我试图从一个id以整数开头的页面中获取一个元素 $('#3|assets_main|ast_module|start-iso-date') 我得到以下错误 未捕获错误:语法错误,无法识别的表达式:|资产|主| ast |模块|开始iso日期 我使用的是jQuery 1.7.1,我知道该id通常命名不好,但有没有任何原因说明jQuery会对以整数开头的id产生问题?在HTML5中,该id可以以数值开头,因此您的id是有效的 问题是选择器中的管道字符;您需要使用\\: 在HTML5中,id可以以数

我试图从一个id以整数开头的页面中获取一个元素

$('#3|assets_main|ast_module|start-iso-date')
我得到以下错误

未捕获错误:语法错误,无法识别的表达式:|资产|主| ast |模块|开始iso日期

我使用的是jQuery 1.7.1,我知道该id通常命名不好,但有没有任何原因说明jQuery会对以整数开头的id产生问题?

在HTML5中,该id可以以数值开头,因此您的id是有效的

问题是选择器中的管道字符;您需要使用\\:

在HTML5中,id可以以数字值开头,因此您的id是有效的

问题是选择器中的管道字符;您需要使用\\:



身份证应该以字母开头。你所拥有的基本上是无效的。错误是意料之中的。而且,是的,我刚刚意识到,|也是ID的一部分吗?因为这些也将是无效的。@vlaz在HTML5中不正确。ID可以在除空格以外的任何位置包含任何字符。@vlaz是的,我知道它的名称不好,但我没有重构代码的特权。@vlaz HTML5允许除空格以外的任何内容,HTML4只允许使用特殊字符,而不是数字ID应该以字母开头。你所拥有的基本上是无效的。错误是意料之中的。而且,是的,我刚刚意识到,|也是ID的一部分吗?因为这些也将是无效的。@vlaz在HTML5中不正确。ID可以在除空格以外的任何位置包含任何字符。@vlaz是的,我知道它的名称不好,但我没有重构代码的特权。@vlaz HTML5允许除了空格以外的任何东西,HTML4只允许特殊字符而不是数字字符。我想,可能是这样的,所以我尝试了同样的方法,但没有解决我的问题。你确定吗?因为它在这里工作正常:它不会抛出错误,但也无法在页面上找到元素。在调用这行代码时,您是否确保元素存在?正如您从示例中看到的,如果id值匹配,则没有理由不起作用。我认为,可能是这种情况,因此我尝试了相同的方法,但没有解决我的问题。您确定吗?因为它在这里工作正常:它不会抛出错误,但也无法在页面上找到元素。在调用这行代码时,您是否确保元素存在?从示例中可以看出,如果id值匹配,那么没有理由不起作用
$('#3\\|assets_main\\|ast_module\\|start-iso-date')