Javascript 未捕获错误:语法错误,无法识别的表达式-JQuery 3.2.1

Javascript 未捕获错误:语法错误,无法识别的表达式-JQuery 3.2.1,javascript,jquery,Javascript,Jquery,JQuery 3.2.1抛出以下错误 jquery-3.2.1.min.js:2 Uncaught Error: Syntax error, unrecognized expression: #row_L&TFH at Function.ga.error (jquery-3.2.1.min.js:2) at ga.tokenize (jquery-3.2.1.min.js:2) at ga.select (jquery-3.2.1.min.js:2) at

JQuery 3.2.1抛出以下错误

jquery-3.2.1.min.js:2 Uncaught Error: Syntax error, unrecognized expression: #row_L&TFH
    at Function.ga.error (jquery-3.2.1.min.js:2)
    at ga.tokenize (jquery-3.2.1.min.js:2)
    at ga.select (jquery-3.2.1.min.js:2)
    at Function.ga [as find] (jquery-3.2.1.min.js:2)
    at r.fn.init.find (jquery-3.2.1.min.js:2)
    at new r.fn.init (jquery-3.2.1.min.js:2)
    at r (jquery-3.2.1.min.js:2)
    at Object.success (allocate.js:84)
    at i (jquery-3.2.1.min.js:2)
    at Object.fireWith [as resolveWith] (jquery-3.2.1.min.js:2)
在下面的代码行上

$('#row_'+code).remove();
当代码中有“&”时抛出错误。例如:code=“L&TFH”它抛出错误,但当code=“ABB”它不抛出错误时。

当id值不是“标识符”时,您必须引用不符合该语法的字符。因此,
“#row_L\\&TFH”
将不起作用,但
“#row_L\\&TFH”
将起作用

你可以通过

$('#row_' + code.replace(/[^0-9A-Za-z_]/g, "\\$0")).remove();

这不仅适用于id值,也适用于类名。id或类名包含非标识符字符不是无效的,但您必须在CSS选择器中使用显式符号来引用它们。这类似于JavaScript中的对象属性名称可以是任何字符串,但除非它是标识符,否则必须使用
[]
符号和字符串来访问或设置属性值。

允许在id中使用吗?你能查一下吗that@Pantherid可以包含任何非空白字符google@xdeepakv,这篇文章几乎毫无用处。这个问题没有错;我不明白为什么它被否决了。