动态创建HTML元素

时间:2014-08-16 02:52:21

标签: javascript jquery html parse-platform

我正在使用解析后端。我的服务器上有一个列表,当某个用户提交某些内容时,该列表会增加数据。现在,在我的网站上,我想访问该数据。但我不知道,在给定的时间点,该列表中将存在多少行数据。 (基本上,你可以说我正在制作类似于购物网站的东西,用户在打开我的网站时会得到一个对象列表,除了这个" list"不断变化)。我想要显示所有项目。 我怎样才能做到这一点?

这是我尝试过的: HTML:

<table style="width: 600px; text-align: center;border: 1px solid black;">
<tr>

<th><strong>Name</strong></th>
<th><strong>Score</strong></th>
</tr>
<tr>

<td id="tdn0">-</td>
<td id="tds0">-</td>

</tr>


<tr>

<tr>

<td id="tdn1">-</td>
<td id="tds1">-</td>

</tr>

为了填充这个,我使用javascript / jquery。我获取数据并使用getElementById并更改innerHTML(注意ID是按数字顺序排列的)。但问题是如果我创建20个元素并且服务器返回25个元素,则不显示5个元素,如果服务器返回15个元素,则5个元素用虚线显示。 任何帮助将不胜感激。 谢谢。

EDIT ------- 脚本如下所示:

for(var i=0;i<results.length;i++)
{
    var object = results[i];
    flag=0;

    if(i===0)
    {
        down[counter]=object.get('UserName');// save username
    down_score[counter]=object.get('score');  // save score in user defined array
    // alert(down[counter]);
    counter++;
    continue;
    }

    else
    {
        for(var j=i-1;j>=0;j--)
        {
            if(object.get('UserName')===down[j]){  //  check for duplication of data
            flag=1;}
        }
        if(flag!==1)
        {
            down[counter]=object.get('UserName');
        down_score[counter]=object.get('score');    
            counter++;
        }
    }
}


for(var k=0; k<21;k++){
    document.getElementById('tdn'+k).innerHTML=down[k];  //  spit out the results in HTML
    document.getElementById('tds'+k).innerHTML=down_score[k];

}

这里,results是服务器返回的对象数组。

0 个答案:

没有答案