「Syntax error, unrecognized expression」のエラーは何が原因?解決方法は?

jQueryを書いていたら、コンソールで「Syntax error, unrecognized expression」というエラーが発生しました。

該当箇所のコードを参考に解決方法を探ってみましょう。

Syntax error, unrecognized expressionはどんな時に出るエラーなの?

Syntax error, unrecognized expressionは、引用符に関するエラーです。

コンソールで確認できる、該当箇所のコードの前後を見て、引用符に関わりそうな箇所を発見しましょう。

このようなコードでエラーがでます

$('a[href^=#]').click(function () { ・・・

上記コードの'a[href^=#]'部分がエラー該当箇所です。

'a[href^="#""]'という形で「”#”」とすることで、エラーは解消できます。

シングルクォーテーションとダブルクォーテーションに注意

$('a[href^='#']').click(function () { ・・・

上記のようなコードの場合も、「Syntax error, unrecognized expression」のエラーが出てしまいます。

$('a[href^="#"]').click(function () { ・・・
$("a[href^='#']").click(function () { ・・・

シングルクォーテーションで囲う場合は、中をダブルクォーテーションに。
ダブルクォーテーションで囲う場合は、中をシングルクォーテーションにしましょう。

クォーテーションに関しては、独自でルールを設けて、どのように記述するのかをしっかりと決めておきましょう。