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;
});
});