javascript中的循环类

javascript中的循环类,javascript,Javascript,我正在尝试使用JS制作进度条 我试图通过循环我的类来获得属性的值,从而增加进度条的宽度 function prog(){ var width = 1; var elem = document.getElementsByClassName('bar'); var id = setInterval(frame, 10); var attr = elem.getAttribute("data-progress"); function frame(){

我正在尝试使用JS制作进度条

我试图通过循环我的类来获得属性的值,从而增加进度条的宽度

function prog(){
    var width = 1;
    var elem = document.getElementsByClassName('bar');
    var id = setInterval(frame, 10);
    var attr = elem.getAttribute("data-progress");

    function frame(){
        if(width >= attr){
            clearInterval(id);
        } else {    
            width++;

            for(i= 0; i < elem.length; i++){
                elem[i].style.width = width + '%';
            }
        }
    }
}
函数程序(){
var宽度=1;
var elem=document.getElementsByClassName('bar');
var id=设置间隔(第10帧);
var attr=elem.getAttribute(“数据进度”);
函数框架(){
如果(宽度>=attr){
清除间隔(id);
}否则{
宽度++;
对于(i=0;i

我的问题是,如何在JS中的循环中访问attr?

您可以使用一个简单的
来。。。循环浏览您的所有元素:

函数程序(){
让elem=document.getElementsByClassName('bar');
设宽度=1;
对于(elem的el){//这里
让attr=el.getAttribute(“数据进度”);
let id=setInterval(=>{
如果(宽度>=attr){
清除间隔(id);
}否则{
宽度++;
对于(i=0;i}
当我触发此代码时,我从let id=setInterval(第10帧)得到错误;所述帧未定义,代码不工作,我现在要将帧函数放在哪里?在for中设置
setInterval
没有意义loop@dhaker如果他打算为他的每一个元素做点什么的话,它就行了。
attr的值在这里是常量-
let attr=el.getAttribute(“数据进度”)