6

基本上我试图找到具有特定类名的所有元素并将其切换到另一个。我有另一个函数可以将其切换回原始类名。这是我通过 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");
}

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

4

1 回答 1

5

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

于 2012-10-09T16:37:16.020 回答