Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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_Javascript - Fatal编程技术网

Javascript 对于不带数组的循环';不能使用innerHTML

Javascript 对于不带数组的循环';不能使用innerHTML,javascript,Javascript,我有一个带有ID=“ranking”的div,我想在这里放一些JavaScript数组的信息,其中每一行有两列:一列用于dados[I][25],另一列用于dados[I][26] 我的代码是: function dadosRanking(dados){ document.getElementById("ranking").innerHTML += '<table class="table"><tr><td v

我有一个带有
ID=“ranking”
的div,我想在这里放一些JavaScript数组的信息,其中每一行有两列:一列用于
dados[I][25]
,另一列用于
dados[I][26]

我的代码是:

function dadosRanking(dados){
        document.getElementById("ranking").innerHTML += '<table class="table"><tr><td valign="middle" class="question" colspan=2><h1>RANKING (+ PONTOS)</h1></td></tr><tr><td>PONTOS</td><td>UTILIZADOR</td></tr>'
        for(var i=1;i<6;i++)
        {
          document.getElementById("ranking").innerHTML += '<tr><td>' + dados[i][25] + '</td><td>' + dados[i][26] + '</td></tr>';
        }
        document.getElementById("ranking").innerHTML += '</table>';
}
<table class="table">
  <tr>
    <td valign="middle" class="question" colspan=2>
      <h1>RANKING (+ PONTOS)</h1>
    </td>
  </tr>
  <tr>
    <td>PONTOS</td>
    <td>UTILIZADOR</td>
  </tr>
</table>
"100Username"
功能数据排序(dados){
document.getElementById(“ranking”).innerHTML+=“ranking(+PONTOS)PONTOSUTILIZADOR”

对于(var i=1;i每次更新
innerHTML
时,浏览器都会对其进行解析和呈现,为此,它还会尝试“修复”HTML。这可能会产生意外的后果。与其使用部分表定义推送到
innerHTML
,不如将HTML收集到单独的值中,然后推送到
innerHTML
一次

function dadosRanking(dados){
    var s = "";
    s += '<table class="table"><tr><td valign="middle" class="question" colspan=2><h1>RANKING (+ PONTOS)</h1></td></tr><tr><td>PONTOS</td><td>UTILIZADOR</td></tr>'
    for(var i=1;i<6;i++) {
        s += '<tr><td>' + dados[i][25] + '</td><td>' + dados[i][26] + '</td></tr>';
    }
    s += '</table>';
    document.getElementById("ranking").innerHTML += s;
}
功能数据排序(dados){
var s=“”;
s+=“排名(+PONTOS)PONTOSUTILIZADOR”

对于(var i=1;iIs),您的代码中是否还有其他部分引用了
排名
元素?否。排名的唯一引用是我在这里写的那些内容。@Littlesant不确定您是否错过了它,但我在20分钟前发布了一个答案。@Halcyon是的,就在几分钟前。我喜欢它,并投了赞成票。
function dadosRanking(dados){
    var s = "";
    s += '<table class="table"><tr><td valign="middle" class="question" colspan=2><h1>RANKING (+ PONTOS)</h1></td></tr><tr><td>PONTOS</td><td>UTILIZADOR</td></tr>'
    for(var i=1;i<6;i++) {
        s += '<tr><td>' + dados[i][25] + '</td><td>' + dados[i][26] + '</td></tr>';
    }
    s += '</table>';
    document.getElementById("ranking").innerHTML += s;
}
document.getElementById("ranking").innerHTML += '<table class="table"><tr><td valign="middle" class="question" colspan=2><h1>RANKING (+ PONTOS)</h1></td></tr><tr><td>PONTOS</td><td>UTILIZADOR</td></tr>'
<table class="table">
  <tr><td valign="middle" class="question" colspan=2><h1>RANKING (+ PONTOS)</h1></td></tr>
  <tr><td>PONTOS</td><td>UTILIZADOR</td></tr>
</table>
document.getElementById("ranking").innerHTML += '<tr><td>foo</td><td>bar</td></tr>';
<table>..</table>
foobar
document.getElementById("ranking").innerHTML += '</table>';