1

さて、ここで私は続けて、この非常に優れた言語を学ぼうとしています...以前は「document.write()」などの醜いものでいっぱいの非常に醜いコードを持っていましたが、今はそれを標準に準拠した非常に優れたコードに変換していますコード、そして私はそれが好きです! しかし、ロジックが表示されない問題が見つかりました。ここに行きます:

htmlファイルにはこれがあります:

<body onload="generatetable(0)">

そして、.jsファイルにはこれがあります:

function generatetable(product) {    
    var tbinfo = document.createElement("table");  //table
    var tbbody = document.createElement("tbody");  //tbody
    var row = document.createElement("tr");     // creates row
    for (var i = 0; i < 4; i++) {               // creates 4 cells
        var cell = document.createElement("td");
        }

    var tname = arraypro[product].Name;
    cell.appendChild(tname);

(テーブルの残りの部分は貼り付けません。問題なく動作するようです)

var tname = arraypro[product].Name実行すると、行に「Exception 8」エラーが表示されます

しかし、もし私が

alert(arraypro[0].Name);

出力すべきものを正確に出力します。まさに正しい単語です。の値が (「製品」の値を渡す場合)arraypro[product].Nameによって取得できるが、では取得できない可能性はありますか?alertappendChild

私はまだプログラミングのロジックにあまり慣れていませんが、試してみます...

PD:arraypro情報がある はグローバル値として宣言されており、知ることが重要な場合に備えて、すべてにアクセスできます。

ここに入力していただきありがとうございます。

4

1 に答える 1

5

appendChild()DOM-Node が必要です。私が信じている文字列を渡しています。

次のように変更できます。

var tname = arraypro[product].Name;
cell.appendChild(document.createTextNode(tname));
于 2012-11-06T17:14:02.830 に答える