Axl Rose的wiki页面包含一个id为的元素:
1983.E2.80.931986:_Early_years
Run Code Online (Sandbox Code Playgroud)
我正在使用$('#1983.E2.80.931986:_Early_years')这个元素,但失败了.
如果我想通过id选择这个元素,那么使用正确的选择器是什么?
Tom*_*lak 17
直接来自文档:
如果您希望使用任何元字符(例如
!"#$%&'()*+,./:;<=>?@[\]^&a{|}~)作为名称的文字部分,则必须使用两个反斜杠转义字符:\\.例如,如果您有一个元素id="foo.bar",则可以使用选择器$("#foo\\.bar").
推论:
jQuery.escapeSelector = function(str) {
return str.replace(/[!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~]/g, "\\$&");
}
// ...
$('#' + $.escapeSelector('1983.E2.80.931986:_Early_years'))
Run Code Online (Sandbox Code Playgroud)