2016-09-25 74 views
0

我试图做一个方桌动态通过jQuery的如何将'x'个​​元素添加到for循环中的<tr>元素中? [jQuery的]

到目前为止我的代码是

$(document).ready(function() { 
    $('body').append('<table></table>'); 
    initial(); 
}); 

var input = 16 

function initial() { 
    for (i = 0; i < input; i++) { 
    $('table').append('<tr></tr>'); 
    $('tr').append('<td></td>'); 
    } 
} 

我所试图做的是,如果我加16个表行元素,那么16台数据元素将被添加到每个人,有效地创建一个16×16格

我当前的代码只能创建表 我必须通过jQuery来做到这一点

很抱歉,如果这是SIMPL的一半E,但我有点愚蠢

感谢

+0

'$( '表')追加( '​​');' –

+0

这创造了一个盒子16行,但是。我需要它是一个16x16网格 –

回答

1

你必须让两个循环此起彼伏:

$(document).ready(function() { 
    $('body').append('<table></table>'); 
    initial(); 
}); 

var input = 16 

function initial() { 
    for (i = 0; i < input; i++) { 
    $('table').append('<tr></tr>'); 
    } 
    for (j = 0; j < input; j++) { 
    $('tr').append('<td>content</td>');  
    } 
} 

顺便说一下它的错误的方式创建表,因为你每次提到DOM ,这很贵。你应该先创建字符串表,然后追加一次到DOM:

var input = 16 
function initial() { 
    var output = "<table>" 
    for (i = 0; i < input; i++) { 
    output += "<tr>"; 
    for (j = 0; j < input; j++) { 
     output += "<td>content</td>"; 
    } 
    output += "</tr>"; 
    } 
    output += "</table>" 
    $('body').append(output); 
} 
+0

非常感谢你!第一个代码由于某种原因不起作用,但第二个代码很好! –

相关问题