note から WordPress に出戻りました!😭

[ JavaScript ] クォーテーションがらみの構文エラーでハマった

だるかぶ

サンダルでスーパーカブ乗りの『だるかぶ』です!
ご訪問ありがとうございます。ゆっくりしていってね。(本ページは広告を含みます。)

久しぶりに簡単な JavaScript を書く機会があったんですが、クォーテーションの構文エラーでハマって悔しかったのでメモ。

構文エラーでハマった JavaScript コード

JavaScript の場合、ダブルクォーテーションの中でクォーテーションを使うには、シングルクォーテーションを使えば良かったよね?

というレベルの認識で以下の様な行を書いた。

document.write ("<a onClick='hoge('fuga')'></a>");

Internet Explorer 6 と 7 で確認してみると構文エラーが発生。 ちなみに Firefox 2 でエラーは出ませんでした。

※ 実際はもっと長いコードだったんですが、解り易くするため簡単なコードに書き換えています。

正しい JavaScript コード

結局、シングルクォーテーションの入れ子がおかしいのが原因でした。

書き直した正しい JavaScript コードは以下の通り。

document.write ("<a onClick=\"hoge('fuga')\"></a>");

ダブルクォーテーションの中で、ダブルクォーテーションを使う時はエスケープすると良いみたい。

原因を見つけるまでに小一時間かかったよ。 orz

現場からは以上です。それでは、またッ!!!