-1

私は現在、Webページのショッピングカート用のかなり基本的なコードを書いています(これは課題用で、JS、HTML、およびCSSに制限されています)

一連の配列 (Name[]、Quantity[]、および Sum[]) に含まれるものは何でも埋めるテーブルに入力しようとしています。テーブルにはすでに があり、書き込んでいる div はテーブル内にあります。しかし、Web ページを実行するたびに、テーブルとその内容は常に別のテーブルとして私の前に書き込まれます。

何がうまくいかなかったのか完全にはわからないので、コードは次のとおりです: HTML:

    <table border="1">
        <thead>
        <tr>
           <th>Product</th>
           <th>Quantity</th>
           <th>Sum Total</th>
        </tr>
        </thead>
        <div id="cart"></div>
        </table>

JavaScript:

    function ViewShoppingCart(){
        document.getElementById("cart").innerHTML = ""; // Empties the cart

        for (var i=0; i<Name.length; i++) {
            var tr= document.createElement("tr");
            document.getElementById("cart").appendChild(tr);
            var td= document.createElement("td");
            td.appendChild(document.createTextNode(Name[i]));
            tr.appendChild(td);
            var td1= document.createElement("td");
            td1.appendChild(document.createTextNode(Quantity[i])); 
            tr.appendChild(td1);
            var td2= document.createElement("td");
                    td2.appendChild(document.createTextNode("\u00A3"+parseFloat(Sum[i]).toFixed(2))); 
            tr.appendChild(td2);
            }
    }
4

2 に答える 2

2

<div>は の有効な子ではありません<table>ブラウザーは、マークアップを理解するために、マークアップを表す DOM を再配置しています。

テーブルに div が必要な場合、その div は<th>またはにある必要があり<td>ます。

于 2012-05-13T15:02:33.183 に答える
0

あなたのhtmlは間違っています。タグの<div>中に を入れることはできません。代わり<table>に内部にある必要があります。<td>

于 2012-05-13T15:02:03.193 に答える