动态对象属性javascript

时间:2013-02-27 17:34:18

标签: javascript oop dynamic

遇到此代码块的问题:

var name = "";
var nutrients = {};
var tds = document.getElementById('data').getElementsByTagName('td');

name = tds[0].innerHTML;
nutrients[name].val = tds[1].innerHTML;
alert(nutrients.Energy.val);

如果我在两行上取出.val,代码就可以了。我正试图动态创建“ 通过从表中提取信息来减少营养成分。“能量”,所有50个营养素名称必须具有“值”和“单位”属性。最终这将是一个循环。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

尝试分配时

nutrients[name].val = tds[1].innerHTML;

nutrients对象仍为空,nutrients["Energy"](或其他)将不确定;在分配财产时抛出异常。相反,使用

nutrients[name] = {
    val: tds[1].innerHTML
};