基本的に、特定のクラス名を持つすべての要素を見つけて、別の要素に切り替えようとしています。これを元のクラス名に戻す別の関数があります。これがonclickでトリガーされる私の関数です:
function showEventsAppliedTo() {
var myObj = document.getElementsByClassName('notApplied');
while (myObj.length >= 0) {
myObj[0].className = 'mblListItem notAppliedOut';
}
AppliedToButton.set('style', 'display:none;');
EventListingButton.set('style', 'display:block;');
}
myObj[0]が未定義であるというエラーが表示されます。なぜこれが起こっているのか考えていますか?
注として、Dojoを使用しているため、関数の最後の行です。jQueryでこれを簡単に実行できることは知っていますが、私たちはそれを使用しておらず、別のフレームワークをロードすることは意味がありません。
よろしくお願いします。
編集
Abhishek Mishraの助けを借りて、このループの処理方法を変更し、私が好んだJUSTdojoでそれを行う方法を見つけました。コードは次のとおりです。
function listingClassToggle() {
dojo.query(".notApplied").addClass("notAppliedOut");
dojo.query(".notApplied").removeClass("notApplied");
}
以前のソリューションよりもはるかに単純なコードで、はるかに軽量です。ご協力ありがとうございます。これが他の誰かに役立つことを願っています。