次のように使用する変数 d があります。
$(function() {
for(i = 1; i <= 31; i++) {
var d = '#days' + i;
if ($(d).attr("id").substr(4,2) == 11) {
$(d).addClass("date_has_event");
//console.log("diez");
} else {
console.log("otro");
}
}
}
ただし、firebug で次のエラーが発生します。
$(d).attr("id") は未定義です
index.html (L23) (?)()()
jquery.min.js (L27) onreadystatechange()()
jquery.min.js (L27) onreadystatechange()()
jquery.min.js (L21) nodeName()([関数(), 関数()], 関数(), 未定義)
onreadystatechange()()
理由が本当にわかりません。誰か知っていますか?
編集
実行しなければならなかった説明が不十分で申し訳ありません。ここで、何が起こっているのかをもう少し詳しく説明します。JavaScriptを使用してカレンダーを生成しています。各 td には異なる ID があり (したがって、#days + i)、1 から 31 まで実行しているので、より長い月をカバーできます。ただし、上記のエラーが発生します。また、jQuery ライブラリを使用して、より簡単に選択できるようにしています (つまり、getElementById の代わりに #days のみ)。