0

此代码块有问题:

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 个营养素名称都必须具有“值”和“单位”属性。最终这将是一个循环。

谢谢你的帮助

4

1 回答 1

2

尝试分配时

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

nutrients对象仍然是空的,并且nutrients["Energy"](或其他)将是未定义的;在分配属性时抛出异常。相反,使用

nutrients[name] = {
    val: tds[1].innerHTML
};
于 2013-02-27T17:39:00.773 回答