我想使用jQuery将哈希用作ID选择器,但是我收到错误:
Uncaught Error: Syntax error, unrecognized expression: '#o1w609accordion'
at Function.fa.error (jquery.js?ver=1.12.4:2)
at fa.tokenize (jquery.js?ver=1.12.4:2)
at fa.select (jquery.js?ver=1.12.4:2)
at Function.fa (jquery.js?ver=1.12.4:2)
at Function.a.find (jquery-migrate.min.js?ver=1.4.1:2)
at n.fn.init.find (jquery.js?ver=1.12.4:2)
at n.fn.init.a.fn.find (jquery-migrate.min.js?ver=1.4.1:2)
at a.fn.init.n.fn.init (jquery.js?ver=1.12.4:2)
at a.fn.init (jquery-migrate.min.js?ver=1.4.1:2)
at n (jquery.js?ver=1.12.4:2)
这是我的JavaScript代码。它抓取哈希值,然后我想将它用作ID选择器。
export default {
init() {
// JavaScript to be fired on all pages
$(document).ready(function(){
if(window.location.hash) {
var hash = window.location.hash;
$('.accordion').attr('data-accordion','06i9fb-accordion');
$(`'${hash}'`).css('display','block');
$('.accordion a[href="' + hash + '"]').trigger('click');
}
});
},
finalize() {
// JavaScript to be fired on all pages, after page specific JS is fired
},
};
答案 0 :(得分:3)
您的选择器中有太多'
。
无法识别的表达式的jquery错误是(对于$("{")
):
未捕获错误:语法错误,无法识别的表达式:{
,而您的错误是:
未捕获错误:语法错误,无法识别的表达式:'#o1w609accordion'
所以你的翻译表达是:
$("'#o1w609accordion'")
删除额外的'
,你应该没问题,可能:
$(`${hash}`)
答案 1 :(得分:1)
尝试
$('#'+hash).css('display','block');
您的问题出在选择器
中