我不确定我是否使用了正确的术语来实现我想要做的事情,请原谅。
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
向上迭代。
我希望我的解释比我想象的更好!
最佳答案
使用对象字面量语法时,键始终被视为字符串 - 即使没有引号。除此之外,您每次都会覆盖整个对象。
这段代码可以实现你想要的功能。请注意,我将其更改为 i < n
因为你会得到 i = 5
在最后一个循环中,它不适合您发布的示例。
for(var i = 0; i < n; i++) {
myObj[i] = {
property: value
}
}
关于javascript - 在mootools或javascript中动态创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10993386/