在我的控制台中,我正在表演:
thing = '#'+id.replace(new RegExp(" ", "g"), "_").replace(/[!"#$%&'()*+,.\/:;
<=>?@[\\\]^`{|}~]/g, "\\\\$&")
并被告知这些是thing
:
"#Accounting\\/Payroll"
那个
>typeof(thing)
>"string"
当我表演时:
$(thing)
我得到了
Uncaught Error: Syntax error, unrecognized expression: #Accounting\\/Payroll
at Function.ga.error (jquery.min.js:2)
at ga.tokenize (jquery.min.js:2)
at ga.select (jquery.min.js:2)
at Function.ga [as find] (jquery.min.js:2)
at r.fn.init.find (jquery.min.js:2)
at r.fn.init (jquery.min.js:2)
at r (jquery.min.js:2)
at <anonymous>:1:1
但是当我表演时
$("#Accounting\\/Payroll")
我得到了
[div#Accounting/Payroll.col-xs-12.col-sm-6.col-md-4.col-lg-3.department, prevObject: r.fn.init(1)]
那我的第一个选择器出了什么问题?
我想我现在明白了。存储字符串时会计算转义。因此,当我在"#Accounting\\/Payroll"
字面上输入选择器时,jquery使用存储的字符串"#Accounting\/Payroll"
作为其选择器。我的第一个用法不起作用,因为它使用存储的字符串"#Accounting\\/Payroll"
作为其选择器。谢谢adeneo。