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

时间:2017-04-13 14:26:12

标签: jquery html html-escape-characters

我必须使用div选择id元素escape 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, "\\$1");
}

错误:

Syntax error, unrecognized expression: #abc/def

我应该在哪里进行更改以使其工作?

2 个答案:

答案 0 :(得分:3)

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

https://jsfiddle.net/gtpkkyw0/

jquery网站上也有很好的信息。留在这里作为参考,希望它可以帮助某人:

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

答案 1 :(得分:1)

您不必使用Attribute equals selector

逃避任何事情
$('[id="abc/def"]')

https://jsfiddle.net/86uohuny/