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(){
Share on Twitter
関連記事
下までスクロールしないと押せないチェックボックスの作り方
下までスクロールしないと押せないチェックボックスの作り方
slickのドット(dots)をスライドの画像にする方法
slickのドット(dots)をスライドの画像にする方法
JavaScriptで特定の位置までスクロールした要素を固定表示する方法
JavaScriptで特定の位置までスクロールした要素を固定表示する方法