2011-09-29 95 views
0

我不是要求任何人爲我編碼。請告訴我我錯過了什麼,或者我的代碼有什麼問題。在Javascript中更改文本

我的JavaScript程序運行應是這樣的:

  1. 在按下一個按鈕,一個簡單的乘法表應該出現並覆蓋詞「表應該在這裏」。
  2. 按另一個按鈕,應出現另一個簡單的乘法按鈕,並覆蓋以前的乘法表。

我能夠使乘法表出來,但問題是,它不會覆蓋前面的表。它只是在前一個的底部創建另一個表。請幫忙。這不是一個家庭工作..我很新,只是想學習使用簡單代碼創建一個有點複雜的程序的所有可能性。

<script type="text/javascript"> 
    function x() 
    { 
     var a=1; 
     for(a=0;a<=10;a++) 
     { 
      var total = 2 * a; 
      var newHeading = document.createElement("p"); 
      var h1Text = document.createTextNode("2 x " + a + " = " + total); 
      newHeading.appendChild(h1Text); 
      document.getElementById("dname1").appendChild(newHeading); 
     } 
    } 

    function y(total) 
    { 
     var a=0; 
     for(a=0;a<=10;a++) 
     { 
      var total = 3 * a; 
      var newHeading = document.createElement("p"); 
      var h1Text = document.createTextNode("3 x " + a + " = " + total); 
      newHeading.appendChild(h1Text); 
      document.getElementById("dname2").appendChild(newHeading); 
     } 
    } 
    </script> 
    </head> 
    <body> 

    <h1>Date and Hours</h1> 
    <p>Click a button</p> 
    <p id="dname1">Table of 2 should be here</p> 
    <p id="dname2">Table of 3 should be here</br></p> 

    <button type="button" onclick="x()">Table of Two</button> 
    <button type="button" onclick="y()">Table of Three</button> 

回答

3

在添加任何內容之前,您應清除兩個表格:http://jsfiddle.net/2NtXH/2/

// setting the innerHTML to an empty string basically removes its contents 
document.getElementById("dname1").innerHTML = ""; 
document.getElementById("dname2").innerHTML = ""; 
-1
,如果你想使用jQuery,

簡單的做到這些

$("#dname1").html(""); 
$("#dname2").html(""); 
+0

我不知道的jQuery呢。我想先學習Javascript的基礎知識。 – Ibanez1942

+0

如果他是JavaScript的新手,他應該在JavaScript中完成而不是框架。一旦你理解了底層發生的事情,就可以更好地進入框架。 – Ryan