无法识别表达式的jquery语法错误

无法识别表达式的jquery语法错误,jquery,Jquery,我很难弄明白为什么我的表情没有被识别 我的html元素如下所示: <tr class="beampower_01/target_surface_01-child shown">(...)</tr> 表达方式: $('.' + $(elemClicked).attr("path")+ '-child'); console.log($(elemClicked).attr("path")) 结果如下: 波束功率\

我很难弄明白为什么我的表情没有被识别

我的html元素如下所示:

<tr class="beampower_01/target_surface_01-child shown">(...)</tr>
表达方式:

$('.' + $(elemClicked).attr("path")+ '-child');
console.log($(elemClicked).attr("path"))
结果如下:

波束功率\u 01/目标\u表面\u 01

我收到的错误是:

未捕获错误:语法错误,无法识别的表达式:.beampower\u 01/target\u surface\u 01-child


错误在哪里?

beampower\u 01/target\u surface\u 01-child
是放置在元素上的有效类名(请参见和),
.beampower\u 01/target\u surface\u 01-child
是无效的CSS类选择器。类选择器中的类名称必须是CSS:

在CSS中,标识符(包括选择器中的元素名称、类和ID)只能包含字符
[a-zA-Z0-9]
和ISO 10646字符U+00A0及更高,加上连字符(
-
)和下划线(
);它们不能以数字、两个连字符或连字符后跟数字开头。标识符还可以包含转义字符和任何ISO10646字符作为数字代码(请参阅下一项)。例如,标识符“B&W?”可以写为“B&W?”或“B\26 W\3F”

(这是旧2.1规范中的语言,便于引用。有效字符未更改,请参阅和现代规范中的。)

你不可能有一个像那样的未修剪的斜线

我强烈建议不要在类名中使用斜杠,这样您就不必试图逃避它们。但您可以通过在前面添加反斜杠来避开它们:

$('.' + $(elemClicked).attr("data-path").replace(/\//g, "\\/") + '-child')
实例:

$(“输入[type=button]”)。在(“单击”,函数(){
const elemClicked=此;
$('.+$(elemClicked).attr(“数据路径”).replace(//\//g,“\\//”+'-child'))
.css(“颜色”、“蓝色”);
});

你好

beampower\u 01/target\u surface\u 01-child
是放置在元素上的有效类名(请参见和),
。beampower\u 01/target\u surface\u 01-child
是无效的CSS类选择器。类选择器中的类名称必须是CSS:

在CSS中,标识符(包括选择器中的元素名称、类和ID)只能包含字符
[a-zA-Z0-9]
和ISO 10646字符U+00A0及更高,加上连字符(
-
)和下划线(
);它们不能以数字、两个连字符或连字符后跟数字开头。标识符还可以包含转义字符和任何ISO10646字符作为数字代码(请参阅下一项)。例如,标识符“B&W?”可以写为“B&W?”或“B\26 W\3F”

(这是旧2.1规范中的语言,便于引用。有效字符未更改,请参阅和现代规范中的。)

你不可能有一个像那样的未修剪的斜线

我强烈建议不要在类名中使用斜杠,这样您就不必试图逃避它们。但您可以通过在前面添加反斜杠来避开它们:

$('.' + $(elemClicked).attr("data-path").replace(/\//g, "\\/") + '-child')
实例:

$(“输入[type=button]”)。在(“单击”,函数(){
const elemClicked=此;
$('.+$(elemClicked).attr(“数据路径”).replace(//\//g,“\\//”+'-child'))
.css(“颜色”、“蓝色”);
});

你好

/
在类名中无效,因此在选择器中无效。这是否回答了您的问题?(通过搜索您的确切标题找到)
/
在类名中无效,因此在选择器中无效。这是否回答了您的问题?(通过搜索您的确切标题找到)