0

我不确定我是否对我正在尝试做的事情使用了正确的术语,所以请原谅。

Mootools More 有一个Fx.Elements类,允许您对一组元素进行补间。该类的set方法只接受一个对象并允许我设置原始值,但是我不确定在动态生成 HTML 时需要补间多少元素。

这是我想做的事情的理论:

var n = $$('.element').length; // 5
var myObj = {};
var value = 0;
var i;

for (i = 0; i < n; i++) {
    myObj = {
      i: { property : value }
    }                        
}

console.log(myObj);

//    What I get:
//    Object { i : { property: 0 } }

//    What I would like:
//    Object { 
//      0 : { property : 0 
//      },
//      1 : { property : 0 
//      },
//      2 : { property : 0 
//      },
//      3 : { property : 0 
//      },
//      4 : { property : 0 
//      }
//    }          

显然,上面只设置了i对象的属性 5 次。我需要i向上迭代。

我希望我的解释比我想象的要好!

4

1 回答 1

2

使用对象字面量语法时,键始终被视为字符串——即使没有引号。除此之外,您每次都会覆盖整个对象。

这段代码做你想做的事。请注意,我将其更改为,i < n因为您将进入i = 5不适合您发布的示例的最后一个循环。

for(var i = 0; i < n; i++) {
    myObj[i] = {
        property: value
    }
}
于 2012-06-12T09:02:28.550 回答