玩一个快速的概念。希望答案很简单,我的尝试只是因为某种原因而失败了。
假设我有一个数组,如:
var items = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]];
我试着翻转数据,所以它把它转换成:
var items_converted = [[1,4,7,10],[2,5,8,11],[3,6,9,12]];
这些都已经完成了。现在,使用新的多维数组,我希望将每个内部数组的内容推送到HTML表行:
<tr>
<td>1</td>
<td>4</td>
<td>7</td>
<td>10</td>
</tr>
<tr>
<td>...在这里玩:http://jsfiddle.net/XDFd2/
我试着用两个for-loops来实现它,但是它似乎没有附加<tr>或</tr>。
var items = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]];
var items_converted = [[1,4,7,10],[2,5,8,11],[3,6,9,12]];
var table = $('#table');
for(var i=0; i<items_converted.length; i++){
if(i==0){
table.append('<tr>');
}
for(var j=0; j<items_converted[i].length; j++){
table.append('<td>'+items_converted[i][j]+'</td>');
if(j===items_converted[0].length-1){
table.append('</tr');
}
}
}我觉得我错过了一些很简单的东西..。也许循环正在处理的顺序?
任何帮助都是非常感谢的。
在这里玩:http://jsfiddle.net/XDFd2/
发布于 2014-05-10 21:36:32
您正在尝试像使用append()一样使用document.write()。这是个错误的方法。您应该查看DOM,从您的table节点开始,并为每一行和每个单元添加节点。
基本上是一个创建行的$('<tr>'),然后是一个table.append()调用来将它添加到DOM中。细胞也是如此。
var items = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]];
var items_converted = [[1,4,7,10],[2,5,8,11],[3,6,9,12]];
var table = $('#table');
var row, cell;
for(var i=0; i<items_converted.length; i++){
row = $( '<tr />' );
table.append( row );
for(var j=0; j<items_converted[i].length; j++){
cell = $('<td>'+items_converted[i][j]+'</td>')
row.append( cell );
}
}Fiddle
https://stackoverflow.com/questions/23586527
复制相似问题