javascript エラー「SyntaxError: The string did not match the expected pattern.」の解決方法

javascript エラー「SyntaxError: The string did not match the expected pattern.」の解決方法

javascriptで、エラー「SyntaxError: The string did not match the expected pattern.」が発生した場合の原因と解決方法を記述してます。

環境

  • OS macOS Big Sur
  • ブラウザ safari 15.0

エラー内容

以下のコードを実行時に発生。

<a href="#bar"></a>
<a href="#foo"></a>

const nodelist = document.querySelectorAll('a[href^=#]');
console.log(nodelist);

エラーメッセージ全文

SyntaxError: The string did not match the expected pattern.

画像

原因

「バックスラッシュ」が必要なため

解決方法

「バックスラッシュ」を使用する。

<a href="#bar"></a>
<a href="#foo"></a>

const nodelist = document.querySelectorAll('a[href^=\\#]');
console.log(nodelist);

「ダブルクオーテーション」を使用してもよい。

const nodelist = document.querySelectorAll('a[href^="#"]');
console.log(nodelist);

実行結果