Javascript 按类名更改div的style.width

Javascript 按类名更改div的style.width,javascript,Javascript,我一直在尝试使用set.interval动画更改div的宽度。它与getELementByID配合使用非常好,但与GetElementsByCassName配合使用则不起作用 代码如下: var loadingBar = 200; function animationBarOne(){ document.getElementsByClassName("loading-bar").style.width=(loadingBar+"px"); loadingBar++; i

我一直在尝试使用set.interval动画更改div的宽度。它与getELementByID配合使用非常好,但与GetElementsByCassName配合使用则不起作用

代码如下:

var loadingBar = 200;

function animationBarOne(){
    document.getElementsByClassName("loading-bar").style.width=(loadingBar+"px");
    loadingBar++;
    if(loadingBar === 900){
         clearInterval(intervalId);
    }
}
var intervalId = setInterval(animationBarOne,1);
我得到“无法设置未定义的属性宽度”。正如我所说的,它可以完美地与ID一起工作,但如果给我10个条来设置动画,我宁愿使用类名,这样它就更干净了


提前谢谢

document.getElementsByClassName()
返回元素数组。您需要在数组中循环以修改列表中的每个数组:

var loadingBar = 200;

function animationBarOne(){    
    var elements = document.getElementsByClassName("loading-bar");
    for (var i = 0; i < elements.length; i++) {
        elements[i].style.width=(loadingBar+"px");
    }
    loadingBar++;
    if(loadingBar === 900){
         clearInterval(intervalId);
    }
}
var intervalId = setInterval(animationBarOne,1);
var加载条=200;
函数animationBarOne(){
var elements=document.getElementsByClassName(“加载条”);
对于(var i=0;i
Ohh不知道GetElementsByCassName返回了一个元素数组,现在就很有意义了。你的代码运行得很好,谢谢