最近 jQuery を使うことが多く、それに伴ってデバッグ作業が増えてきました。
その中でもちょくちょく目にするのが「識別子、文字列または数がありません」というエラー。
主に IE6、IE7 で発生しています(たぶん IE8 では出たことない)。
で、原因なんですが、まぁ言ってしまえばケアレスミスです。
例えば、「hoge」クラスが指定されている要素の文字色を赤、背景色をピンクにするという処理は以下のようになります。
$(".hoge").css({
"color":"#f00",
"backgroundColor":"#fcc",
});
これを実行すると、恐らく IE6 と IE7 では「識別子、文字列または数がありません」のエラーが発生します。
どこがダメなのかというと、背景色(backgroundColor)を指定している行の最後にある「,」(カンマ)です。
「最後のクセに区切りやがって馬鹿者め」的な感じでエラーになっちゃうワケですね。
ってか、これに限っては IE6 と IE7 の方が処理としては正しいような。
IE8 とか Firefox とか Safari とかは何でエラーを出さないんでしょう。
不思議。
まぁ、何はともあれ、行末の「,」には気を付けましょう。
というお話しでした。