2012-05-13 9 views
-1

私は現在、Webページ上のショッピングカート用のかなり基本的なコードを書いています(これは割り当て用ですが、私はJS、HTML、CSSに制限されています)私のinnerHTMLがdivの前に表示されています

私は、一連の配列(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); 
      } 
    } 

答えて

2

<div> is not a valid child of <table>.ブラウザは、あなたのマークアップを表すDOMを、それを分かりやすくするために再配置しています。

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

0

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

関連する問題