JavaScript动态添加表格行(使用模板、标记)
2009-10-25 00:00:00 来源:WEB开发网1,获取Tbody,新添加的行要加到这里面去
var tbodyOnlineEdit=getTableTbody(tableObj);
2,获取THEAD,隐藏的模板在这里面,进行复制
var theadOnlineEdit=tableObj.getElementsByTagName("THEAD")[0];
var elm=theadOnlineEdit.rows[theadOnlineEdit.rows.length-1].cloneNode(true);
elm.style.display="";
3,去复制出来的行进行填充
1 if(typeof(names)!="undefined"){
2 if(typeof(functionName)=="undefined") functionName="setObjValueByName";
3 if(typeof(values)!="undefined"&&values!=null){
4 var entity=ArrayToObj(names,values);
5 setInputValue(elm,entity,functionName);
6 }
7 else
8 setInputValue(elm,names,functionName);
9 }
4,将填充好数据的行添加到表格中去
tbodyOnlineEdit.appendChild(elm);
难点、易出问题点说明
1, 获取Tbody,ie与firefox有区别,ie在默认的情况下是为table加上tbody的,而firefox则没有,所以要进行相应的判断
1//得到table中的tbody控件,注意兼容firefox
2function getTableTbody(tableObj){
3 var tbodyOnlineEdit=tableObj.getElementsByTagName("TBODY")[0];
4 if(typeof(tbodyOnlineEdit)=="undefined"||tbodyOnlineEdit==null){
5 tbodyOnlineEdit=document.createElement("tbody");
6 tableObj.appendChild(tbodyOnlineEdit);
7 }
8 return tbodyOnlineEdit;
9}
Tags:JavaScript 动态 添加
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接