jquery エラー「Uncaught Error: Syntax error, unrecognized expression: a[href^=#]」の解決方法

jqueryのバージョンを1.0台から3.6.0へ変更したら「Uncaught Error: Syntax error, unrecognized expression: a[href^=#]」このようなエラーが出ました。

 

原因としては$('a[href^=#]').この♯をダブルクォーテーションで囲っていないことが原因のようです。

なので、下のJavaScriptのように♯をダブルクォーテーションで囲うことで解決しました。

 

JavaScript編集前

$(function () {
  // #で始まるアンカーをクリックした場合に処理
  $('a[href^=#]').click(function () {
    // スクロールの速度
    var speed = 400; // ミリ秒
    // アンカーの値取得
    var href = $(this).attr("href");
    // 移動先を取得
    var target = $(href == "#" || href == "" ? 'html' : href);
    // 移動先を数値で取得
    var position = target.offset().top;
    // スムーススクロール
    $('body,html').animate({ scrollTop: position }, speed, 'swing');
    return false;
  });
});
JavaScript編集後
$(function () {
  // #で始まるアンカーをクリックした場合に処理
  $('a[href^="#"]').click(function () {
    // スクロールの速度
    var speed = 400; // ミリ秒
    // アンカーの値取得
    var href = $(this).attr("href");
    // 移動先を取得
    var target = $(href == "#" || href == "" ? 'html' : href);
    // 移動先を数値で取得
    var position = target.offset().top;
    // スムーススクロール
    $('body,html').animate({ scrollTop: position }, speed, 'swing');
    return false;
  });
});

category cloud