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 に答える