语法错误,无法识别 jQuery 中的表达式

Syntax error, unrecognized expression in jQuery

我必须 select 一个 div 元素 idescape characters,

HTML

<div id="abc/def"></div>

试过这些,

$("#abc/def").find('h4').attr('data-val', "test")  //didn't work

$("id=[abc/def]").find('h4').attr('data-val', "test")  //didn't work

$("#"+escapeSelector("abc/def")).find('h4').attr('data-val',"Test")   //didn't work

function escapeSelector(s) {
    return s.replace(/(:|\.|\[|\])/g, "\");
}

错误:

Syntax error, unrecognized expression: #abc/def

我应该在哪里进行更改才能使其正常工作?

$("#abc\/def").text("test")  //did work :)

https://jsfiddle.net/gtpkkyw0/

jquery 网站上也有非常好的信息。留在这里作为参考,希望对某人有所帮助:

https://api.jquery.com/category/selectors/

您不必使用 Attribute equals selector 转义任何内容:

$('[id="abc/def"]')

https://jsfiddle.net/86uohuny/