jQueryで「Syntax error, unrecognized expression」が表示された時の解決策
jQueryでスムーズスクロールを作成中に、「Error: Syntax error, unrecognized expression 」が表示された時の、解決策の備忘録です。
下記のコードで、アンカーリンクの箇所にスクロールするように実装していました。
jQuery('a[href^=#]').click(function(){
var speed = 400,
href= $(this).attr("href"),
target = $(href == "#" || href == "" ? 'html' : href),
position = target.offset().top;
$('body,html').animate({scrollTop:position}, speed, 'swing');
return false;
});
エラーの原因は、1行目('a[href^=#]')
の引用符が抜けていることでした。
アンカーリンクのセレクタ部分をダブルクオーテーション(”)で囲むことで解決できました。
jQuery('a[href^="#"]').click(function(){