我想使用 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
},
};
最佳答案
您的选择器中有太多 '
。
无法识别的表达式的 jquery 错误是(对于 $("{")
):
Uncaught Error: Syntax error, unrecognized expression: {
当你的错误是:
Uncaught Error: Syntax error, unrecognized expression: '#o1w609accordion'
所以你的翻译后的表达是:
$("'#o1w609accordion'")
删除多余的 '
你应该没问题,可能是:
$(`${hash}`)
关于javascript - 哈希选择函数在 jQuery 中抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44135286/