Javascript生成的表有时会失败

Javascript生成的表有时会失败,javascript,jquery,html,Javascript,Jquery,Html,最后一个表和之前的表有时也不能正确加载,有时会中断我的循环 自从我在javascript中添加了表创建部分后,代码中就开始出现这个错误 我的问题是为什么,因为我的方法在大多数情况下都是有效的,但在这些情况下却不行。我正在jsfiddle上运行它 感谢您的帮助 最后,我想加上一张明星的照片,上面有“新内容”的短语,如果你也能帮忙的话,你会帮上大忙的 <html> <head> </head> <body> <input type

最后一个表和之前的表有时也不能正确加载,有时会中断我的循环

自从我在javascript中添加了表创建部分后,代码中就开始出现这个错误

我的问题是为什么,因为我的方法在大多数情况下都是有效的,但在这些情况下却不行。我正在jsfiddle上运行它

感谢您的帮助

最后,我想加上一张明星的照片,上面有“新内容”的短语,如果你也能帮忙的话,你会帮上大忙的

<html>

<head>  
</head>

<body>
    <input type="button" value="Delete" onclick="deleteRow()">
    <table id="myTable1" border="1"></table>
    <br>
    <table id="myTable2" border="1"></table>
    <br>
    <table id="myTable3" border="1"></table>
    <br>
     <h1 class="box">
    <table style="width:100%" id = "table1">
    </table>
    <br>
    <p id="time"></p>
    <span id="num1"></span>
    + <span id="num2"></span> =
    <input id="answer" type="text" size="3"/>
    <button onclick = "math1()">Check</button> 
</h1>

</body>

</html>





+ = 检查
这就是Javascript将遵循的HTML

window.onload = function uphigh() {
    document.getElementById("num1").innerHTML = parseInt(Math.floor((Math.random() * 10) + 1));
    var num1 = document.getElementById("num1").innerHTML;
    document.getElementById("num2").innerHTML = parseInt(Math.floor((Math.random() * 10) + 1));
    var num2 = document.getElementById("num2").innerHTML;
    num1 = parseInt(num1);
    num2 = parseInt(num2);
    var num3 = num1 + num2;
    insRow(2, 5, 'myTable1', num1);
    insRow(2, 5, 'myTable2', num2);
    insRow(4, 5, 'myTable3', num3);

};

function uphigh() {
    document.getElementById("num1").innerHTML = parseInt(Math.floor((Math.random() * 10) + 1));
    var num1 = document.getElementById("num1").innerHTML;
    document.getElementById("num2").innerHTML = parseInt(Math.floor((Math.random() * 10) + 1));
    var num2 = document.getElementById("num2").innerHTML;
    num1 = parseInt(num1);
    num2 = parseInt(num2);
    var num3 = num1 + num2;
    insRow(2, 5, 'myTable1', num1);
    insRow(2, 5, 'myTable2', num2);
    insRow(4, 5, 'myTable3', num3);

}

function math1() {
    var num1 = document.getElementById("num1").innerHTML;
    var num2 = document.getElementById("num2").innerHTML;
    num1 = parseInt(num1);
    num2 = parseInt(num2);
    var num0 = num1 + num2;
    var answer = document.getElementById("answer").value;
    answer = parseInt(answer);

    if (num0 == answer) {
        var things = ['Way to Go!!!', 'Congratulations!!!', 'Correct!!!', 'Your Doing Great!!!'];
        var thing = things[Math.floor(Math.random() * 4)];
        alert(thing);
        deleteRow();
        uphigh();
        document.getElementById("answer").value = "";
    } else {
        alert("Incorrect answer!! \nPlease Try Again");
        document.getElementById("answer").value = "";
    }

}

function insRow(rows, col, tableId, num) {
    for (var j = 0; j < rows; j++) {
        var x = document.getElementById(tableId).insertRow();
        for (var i = 0; i < col; i++)
        var y = x.insertCell(0);
    }
    var row = parseInt(num / 5);
    var cols = num % 5;
    var x = document.getElementById(tableId).rows;
    if (row != 0) {
        for (var j = 0; j < row; j++) {
            x = document.getElementById(tableId).rows;
            var y = x[j].cells;
            for (var i = 0; i < 5; i++) {
                y[i].innerHTML = "NEW CONTENT";
            }
        }
    }
    var y = x[row].cells;
    for (var i = 0; i < cols; i++) {
        y[i].innerHTML = "NEW CONTENT";
    }

}

function deleteRow() {
    for (var j = 0; j < 2; j++)
    document.getElementById('myTable1').deleteRow();
    for (var j = 0; j < 2; j++)
    document.getElementById('myTable2').deleteRow();
    for (var j = 0; j < 4; j++)
    document.getElementById('myTable3').deleteRow();
}
window.onload=函数uphigh(){
document.getElementById(“num1”).innerHTML=parseInt(Math.floor((Math.random()*10)+1));
var num1=document.getElementById(“num1”).innerHTML;
document.getElementById(“num2”).innerHTML=parseInt(Math.floor((Math.random()*10)+1));
var num2=document.getElementById(“num2”).innerHTML;
num1=parseInt(num1);
num2=parseInt(num2);
var num3=num1+num2;
insRow(2,5,'我的表1',num1);
insRow(2,5,'我的表2',num2);
insRow(4,5,'我的表3',num3);
};
函数uphigh(){
document.getElementById(“num1”).innerHTML=parseInt(Math.floor((Math.random()*10)+1));
var num1=document.getElementById(“num1”).innerHTML;
document.getElementById(“num2”).innerHTML=parseInt(Math.floor((Math.random()*10)+1));
var num2=document.getElementById(“num2”).innerHTML;
num1=parseInt(num1);
num2=parseInt(num2);
var num3=num1+num2;
insRow(2,5,'我的表1',num1);
insRow(2,5,'我的表2',num2);
insRow(4,5,'我的表3',num3);
}
函数math1(){
var num1=document.getElementById(“num1”).innerHTML;
var num2=document.getElementById(“num2”).innerHTML;
num1=parseInt(num1);
num2=parseInt(num2);
var num0=num1+num2;
var answer=document.getElementById(“answer”).value;
答案=parseInt(答案);
如果(num0==答案){
var things=[“干得好!!!”、“恭喜!!!”、“正确!!!”、“你做得很好!!!”];
var thing=things[Math.floor(Math.random()*4)];
警惕(事物);
deleteRow();
uphigh();
document.getElementById(“答案”).value=“”;
}否则{
警告(“回答不正确!!\n请重试”);
document.getElementById(“答案”).value=“”;
}
}
函数insRow(行、列、表ID、num){
对于(var j=0;j
建立这个网站是为了帮助孩子们学习基础数学


不知道如何向fiddle添加链接。

既然您已经在使用fiddler,请发布链接,以便其他人可以查看工作代码。一些JS DOM实现拒绝直接在
中插入
,您需要
。检查情况是否不是这样。