Uncaught Error: Syntax error, unrecognized expression: a[href^=#]エラーの解決方法!
2017年11月3日
jQueryでスムーススクロールを実装した際に、Uncaught Error: Syntax error, unrecognized expression: a[href^=#]というエラーがコンソールに表示されたことがあったので、その際の解決方法を下記に記載しておきます。
ちなみに、その際に使用したJQueryのバージョンはjQuery3.1.1でした。
スムーススクロール用のjQuery記述コード
1 2 3 4 5 6 7 8 9 |
$('a[href^=#]').click(function() { var speed = 500; var val = $(window).scrollTop(); var href= $(this).attr("href"); var target = $(href == "#" || href == "" ? 'html' : href); var position = target.offset().top - 30; $('body,html').stop().animate({scrollTop:position}, speed, 'swing'); return false; }); |
上記のコードにあるhrefの記述を次のように修正すると解決することができます。
修正前:$(‘a[href^=#]’)
修正後:$(‘a[href^=”#”]’)
これで無事、スムーススクロールが実装できました!
その他にも、jquery- 3.1.1で発生したエラー例を記事にしましたので、よかったら下記の記事も合わせてお読みください。
【js】scrollme.jsプラグインが動作しない!?jQueryのバージョンが原因だった!