基本上,我试图找到具有特定类名的所有元素,然后将其切换为另一个。我还有另一个函数可以将其切换回原始类名。这是通过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的帮助,我修改了处理此循环的方式,并找到了使用JUST dojo进行处理的方法,这是我的首选。这是代码:
function listingClassToggle() {
    dojo.query(".notApplied").addClass("notAppliedOut");
    dojo.query(".notApplied").removeClass("notApplied");
}

比我以前的解决方案更简单,更轻便的代码。感谢你的帮助。我希望这对其他人有帮助。

最佳答案

应该只测试> 0而不是>= 0。当长度等于零时,就没有元素零。

10-05 19:33