2016-09-25 72 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

非常感謝你!第一個代碼由於某種原因不起作用,但第二個代碼很好! –

相關問題