Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript innerHTML中的While语句_Javascript_Html - Fatal编程技术网

Javascript innerHTML中的While语句

Javascript innerHTML中的While语句,javascript,html,Javascript,Html,我有这个密码 document.getElementById("stage").innerHTML = "<table>" + while (c<b) { c++; } + "</table>" document.getElementById(“阶段”).innerHTML=“”+ 虽然(c而>语句不解析为一个值,但不能仅将它们放在表达式的中间。 考虑以下几点: document.getElementById("stage")

我有这个密码

    document.getElementById("stage").innerHTML = "<table>" +
    while (c<b) {  

    c++;
    } + "</table>"
document.getElementById(“阶段”).innerHTML=“”+

虽然(c<代码>而>语句不解析为一个值,但不能仅将它们放在表达式的中间。

考虑以下几点:

document.getElementById("stage").innerHTML = "<table>";

while (c<b) {  
  document.getElementById("stage").innerHTML += c++;
}

document.getElementById("stage").innerHTML += "</table>"
document.getElementById(“阶段”).innerHTML=“”;

while(cwhile
循环是一个语句,而不是一个表达式。可以将表达式放在语句中,也可以将表达式放在其他表达式中,但不能将语句放在表达式中。

但是,您可以使用数组来存储在循环中执行的任何操作的结果,然后在最后将其连接在一起,如下所示:

var result = [],
    r;
while (c < b) {
    r = /* do something */;
    result.push(r);
    c++;
}
document.getElementById("stage").innerHTML = "<table>" + result.join('') + "</table>";
    var html = '<table>';
    // make sure b and c are initialized somehow
    while(c < b)
    {
        // start new row
        html+= '<tr>';
        // add cells
        html+= '<td>' + 'a cell' + '</td>';
        html+= '<td>' + 'another cell' + '</td>';
        // end row
        html+= '</tr>';

        // iterate your looping variable so you aren't infinite
        c++;
    }
    // end table
    html+= '</table>';
    $('#stage').html(html);
var result=[],
R
而(c

result.join(“”)
是一个表达式,因此它适合您试图编写的内容。

我可能会这样做:

var result = [],
    r;
while (c < b) {
    r = /* do something */;
    result.push(r);
    c++;
}
document.getElementById("stage").innerHTML = "<table>" + result.join('') + "</table>";
    var html = '<table>';
    // make sure b and c are initialized somehow
    while(c < b)
    {
        // start new row
        html+= '<tr>';
        // add cells
        html+= '<td>' + 'a cell' + '</td>';
        html+= '<td>' + 'another cell' + '</td>';
        // end row
        html+= '</tr>';

        // iterate your looping variable so you aren't infinite
        c++;
    }
    // end table
    html+= '</table>';
    $('#stage').html(html);
var html='';
//确保以某种方式初始化了b和c
而(c
通过while,每次都会向表中添加一行新数据

通常最好创建一个包含所有html的字符串变量,然后一次将其全部添加到DOM中。这要快得多,因为只需操作DOM一次,而不是多次