使用Javascript更改具有所述类的所有元素的css类

时间:2012-10-09 16:34:12

标签: javascript css class styles dojo

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

比我之前的解决方案更简单,更轻松。感谢你的帮助。我希望这有助于其他人。

1 个答案:

答案 0 :(得分:5)

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