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(){
関連記事
iPadで画面のスクリーンショットをタップだけで撮る方法
iPadで画面のスクリーンショットをタップだけで撮る方法
CSSで実装する文字を回転させるホバーエフェクト
CSSで実装する文字を回転させるホバーエフェクト
console.logでJavaScriptのオブジェクトの値を表示する方法
console.logでJavaScriptのオブジェクトの値を表示する方法