2011-09-29 133 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