将表中的行保存在数组中,稍后再使用它们

时间:2015-04-06 16:00:40

标签: javascript arrays

这是我的一个项目的一部分,对于这个论坛,我做了一个简单而简短的版本。在这里,我先有一张桌子。我在名为arr[]的数组中保存了它的行。然后我删除了tbody并创建了另一个。然后我将tr输入代码保存在arr[]中的元素附加到新创建的tbody中。

tbody.appendChild(arr[i]);

但它并不像我想要的那样工作。没有tr元素附加到新创建的tbody。我怎样才能做到这一点?

    var table=document.createElement('table');
	var arr=[];
	table.setAttribute('style','border:1px solid black;border-collapse:collapse;');
	var thead=document.createElement('thead');
	thead.setAttribute('style','border:1px solid black;border-collapse:collapse;');
	for(i=0;i<1;i++){
	    var row=thead.insertRow(i);
		for(j=0;j<2;j++){
		   var cell=row.insertCell(j);
		    cell.setAttribute('style','border:1px solid black;text-align:center;');
		   cell.innerHTML='tbheadCell'+j;
		}
		
	}
	table.appendChild(thead);
	var tbody=document.createElement('tbody');
	tbody.setAttribute('style','border:1px solid black;');
	for(i=0;i<2;i++){
	    var row=tbody.insertRow(i);
		for(j=0;j<2;j++){
		   var cell=row.insertCell(j);
		    cell.setAttribute('style','border:1px solid black;text-align:center;');
		   cell.innerHTML='tbodyCell'+j;
		} 
		arr.push(row);
	}
	table.appendChild(tbody);
	document.body.appendChild(table);
	table.removeChild(tbody);
	var newtbody=document.createElement('tbody');
	tbody.setAttribute('style','border:1px solid black;');


	console.log(arr);
	for(i=0;i<arr.length;i++){     
	     tbody.appendChild(arr[i]);
	}
	table.appendChild(newtbody);

1 个答案:

答案 0 :(得分:0)

在最后一个循环中,你正在向tbody申请并附加newtbody。 你应该写:

for(i=0;i<arr.length;i++){     
     newtbody.appendChild(arr[i]);
}