js动态生产table、Div、select

一种方法:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd ">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>js操作表格</title>
<script language="javascript">
/*生成表格,采用appendChild*/
function init(){ 
     _table=document.getElementById("table");
_table.border="1px";
_table.width="800px";

   for(var i=1;i<10;i++){
   var row=document.createElement("tr"); 
   row.id=i;
   for(var j=1;j<6;j++){
    var cell=document.createElement("td"); 
    cell.id=i+"/"+j;
    cell.appendChild(document.createTextNode("第"+cell.id+"列")); 
    row.appendChild(cell); 
   }
   document.getElementById("newbody").appendChild(row); 
}
} 

function rebulid(){
   var beginRow=document.getElementById("beginRow").value;/*开始行*/
var endRow=document.getElementById("endRow").value;/*结束行*/

var beginCol=document.getElementById("beginCol").value;/*开始列*/
var endCol=document.getElementById("endCol").value;/*结束列*/

    var tempCol=beginRow+"/"+beginCol;/*定位要改变属性的列*/
alert(tempCol);
var td=document.getElementById(tempCol);

/*删除要合并的单元格*/
for(var x=beginRow;x<=endRow;x++){
   for(var i=beginCol;i<=endCol;i++){
    if(x==beginRow){
     
    document.getElementById("table").rows[x].deleteCell(i+1);
   
    }
    else{
    
       document.getElementById("table").rows[x].deleteCell(i);
    
    }
   
   }
}
td.rowSpan=(endRow-beginRow)+1;
}
/*添加行,使用appendChild方法*/
function addRow(){
   var length=document.getElementById("table").rows.length;
   /*document.getElementById("newbody").insertRow(length);
   document.getElementById(length+1).setAttribute("id",length+2);*/
   var tr=document.createElement("tr");
   tr.id=length+1;
   var td=document.createElement("td");
   for(i=1;i<4;i++){
   td.id=tr.id+"/"+i;
td.appendChild(document.createTextNode("第"+td.id+"列"));
tr.appendChild(td);
   
   }
document.getElementById("newbody").appendChild(tr); 
} 

function addRow_withInsert(){
   var row=document.getElementById("table").insertRow(document.getElementById("table").rows.length);
var rowCount=document.getElementById("table").rows.length;

var countCell=document.getElementById("table").rows.item(0).cells.length;
    for(var i=0;i<countCell;i++){
   var cell=row.insertCell(i);

   cell.innerHTML="新"+(rowCount)+"/"+(i+1)+"列";
   cell.id=(rowCount)+"/"+(i+1);
   
   }
}

/*删除行,采用deleteRow(row Index)*/
function removeRow(){
/* var row=document.getElementById("2"); 
   var index=row.rowIndex;
   alert(index);*/
   document.getElementById("newbody").deleteRow(document.getElementById(document.getElementById("table").rows.length).rowIndex); 
}

/*添加列,采用insertCell(列位置)方法*/
function addCell(){
/*document.getElementById("table").rows.item(0).cells.length
用来获得表格的列数
*/
    for(var i=0;i<document.getElementById("table").rows.length;i++){
   var cell=document.getElementById("table").rows[i].insertCell(2);
   cell.innerHTML="第"+(i+1)+"/"+3+"列";
  
}
}
/*删除列,采用deleteCell(列位置)的方法*/
function removeCell(){
for(var i=0;i<document.getElementById("table").rows.length;i++){
   document.getElementById("table").rows[i].deleteCell(0);
}
}
</script>
</head>

<body onLoad="init();">

<table id="table" align="center"> 
     <tbody id="newbody"></tbody> 

</table> 
<div>
   <table width="800px" border="1px" align="center">
   <tr><td align="center"><input type="button" id="addRow" name="addRow" onClick="addRow();" value="添加行"/></td><td align="center"><input type="button" id="delRow" name="delRow" onClick="removeRow();" value="删除行"/></td></tr>
  <tr><td align="center"><input type="button" id="delCell" name="delCell" onClick="removeCell();" value="删除列"/></td><td align="center"><input type="button" id="addCell" name="addCell" onClick=" addCell();" value="添加列"/></td></tr>
 <tr><td align="center" colspan="2"><input type="button" id="addRows" name="addRows" onClick="addRow_withInsert();" value="添加行"/></td></tr>
</table>
</div>
<div>
   <table width="800px" border="1px" align="center">
   <tr><td>从第<input type="text" id="beginRow" name="beginRow" value=""/>行到<input type="text" name="endRow" id="endRow" value=""/>行</td><td rowspan="2" id="test"><input type="button" name="hebing" id="hebing" value="合并" onClick="rebulid();"/></td></tr>
  <tr><td>从第<input type="text" name="beginCol" id="beginCol" value=""/>列到<input type="text" name="endCol" id="endCol" value=""/>列</td></tr>
</table>
</div>
</body>
</html>

第二种:

<html>
<head><title>aa</title>
<script src="jquery.js"></script>
<script>
var abc={'class': 'newDivClass', id: 'newDiv', name: 'newDivName'};
alert(abc["class"]);
function aaa()//传统的方式来动态添加一个DIV
{
 var newElement = document.createElement('div'); 
     var newText = document.createTextNode('这是新建立 div 中的文字。'); 
     document.getElementById("mydiv").appendChild(newElement); //漏了这一句,否则行不通 
     newElement.id = 'newDiv'; 
     newElement.className = 'newDivClass'; 
     newElement.setAttribute('name ','newDivName'); 
     newElement.style.width = '300px'; 
     newElement.style.height = '200px'; 
     newElement.style.margin = '0 auto'; 
     newElement.style.border = '1px solid #DDD'; 
     newElement.appendChild(newText); 
} 
//$(function(){alert("asdf");});
var i=0;
function clickme()//动态添加TABLE内容
{
 i++;
 var tbl=document.getElementById("tb");
 var row=tbl.insertRow(tbl.rows.length);
 
 var cell1=row.insertCell(row.cells.length);
 var cell2=row.insertCell(row.cells.length);
 var cell3=row.insertCell(row.cells.length);
 var cell4=row.insertCell(row.cells.length);
 cell1.innerHTML="a"+i;
 cell2.innerHTML="b"+i;
 cell3.innerHTML="c"+i;
 cell4.innerHTML="<a href='javascript:deleteRow("+(tbl.rows.length-1)+")'>delete</a>";
 
 cell1.setAttribute("width","150px");
 cell2.setAttribute("width","150px");
 cell3.setAttribute("width","150px");
 cell4.setAttribute("width","150px");
 //row.style.setAttribute("backgroundColor","#e0e0e0");
 row.style["backgroundColor"]="#e0e0e0"; //第二种设置样式的方法
 tbl.style.setAttribute("backgroundColor","olive");  
 tbl.setAttribute("width","500px");  
 //alert(row.style["backgroundColor"]);
}
function leo()//重定下标
{
 var tbl=document.getElementById("tb");
 for(var k=0;k<tbl.rows.length;k++)
 {
  tbl.rows[k].cells[3].innerHTML="<a href='javascript:deleteRow("+k+")'>delete</a>";
 }
}
function deleteRow(obj)//删除指定的行
{
 var tbl=document.getElementById("tb");
 tbl.deleteRow(obj);
 leo();
} 

function clickme2()//用古老的方式向层里添加内容
{
 var my=document.getElementById("mydiv");
 //alert(my);
 my.innerHTML=$("#mydiv").html()+"<div style='border-bottom:1px solid purple'>zhaosheng</div>";
 //my.appendChild("<div style='border:1px solid purple'>zhaosheng</div>");
}
var k=0;
function createSelect()//为SELECT、动态添加项
{ 
 document.getElementById("sel").options[document.getElementById("sel").options.length] = new Option("optionName"+k,"optionValue"+k);
 k++;
}
function change(obj)//select change function
{
 alert(obj.value);
}

function common(type,attr,style,html)
{
 var element=document.createElement(type);
 document.body.appendChild(element);
 for(var k in attr)
 {
  element.setAttribute(k,attr[k]);
 }
 for(var k in style)
 {
  element.style[k]=style[k]; 
 }
 element.appendChild(document.createTextNode(html)); 
}
function commontest()
{
 var attr={"name":"myname","id":"myid"};
 var style={"width":"500px","height":"400px","border":"1px solid purple"};
 var html="this is my text";
 common("div",attr,style,html);
}

</script>
</head>
<body>
<a href="javascript:commontest();">commontest</a>
<a href="javascript:aaa();">aaa</a>
<a href="javascript:clickme();">clickme</a>
<table id="tb">
 <tr>
  <td>id</td>
  <td>name</td>
  <td>age</td>
  <td>operate</td>
 </tr>
</table>
<a href="javascript:clickme2();">clickme2</a>
<div style="border:1px solid olive;padding:5px 0px 10px 3px" id="mydiv"></div>
<a href="javascript:createSelect();">createSelect</a>
<select  id="sel" οnchange="javascript:change(this);">
</select>
</body>

</html>

第三种:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="product_list.aspx.cs" Inherits="LanChuang.MemWeb.scm.member.center.Product" %>

<html>
<head runat="server">
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <script language="javascript" type="text/javascript">
        <!--

        function insertTable() {
          
                var table = document.all['ListTable'];
               
				//写入行
				var objRow = table.insertRow();
				objRow.height = 22;
				objRow.bgColor = "#ffffff";
				objRow.align = 'center';

				objRow.onmousedown = function() { GetRow(this); };
				//序号
				var objCel = objRow.insertCell(0);
				objCel.align = 'center';
				objCel.innerHTML = 1;
				objCel.style.setAttribute("border-bottom","#000000 2px solid");
				objCel.style.setAttribute("border-right","#000000 2px solid");

				//商品编码
				var objCel = objRow.insertCell(1);
				objCel.align = 'center';
				objCel.innerHTML = "<input type='hidden' name='ProdId' id='ProdId_1'  value='1'/>SP00000781";

				//商品名称
				var objCel = objRow.insertCell(2);
				objCel.align = 'left';
				objCel.innerHTML = "矿区水";

				//单位
				var objCel = objRow.insertCell(3);
				objCel.align = 'center';
				objCel.innerHTML = "瓶";

				//数量
				var objCel = objRow.insertCell(4);
				objCel.align = 'right';
				objCel.innerHTML = "<input name='proNum'  maxlength='12' id='proNum_1' type='text' size='8' class='input2' value='1.00'  isNull='false' dataType='number' οnblur='calculateNumber(this)'/>";

				//库存
				var objCel = objRow.insertCell(5);
				objCel.align = 'right';
				objCel.innerHTML = "100";
        }
		 function GetRow(src) {
            
           alert(src.rowIndex);
        }
        //-->
        </script>
</head>
<body id="body">
    <table bordercolor="#000000" id="ListTable"  width="100%" border="0" cellspacing="0" cellpadding="0" style="border-right: #000000 1px solid;border-top: #000000 2px solid; border-left: #000000 2px solid; border-bottom: #000000 1px solid">
		<tr>
			<td align="center" style="border-right: #000000 1px solid; border-bottom: #000000 1px solid;" width="30">NO</td>
			<td align="center" style="border-right: #000000 1px solid; border-bottom: #000000 1px solid;" width="100">商品编码</td>
			<td align="center" style="border-right: #000000 1px solid; border-bottom: #000000 1px solid;">商品名称</td>
			<td align="center" style="border-right: #000000 1px solid; border-bottom: #000000 1px solid;" width="100">单位</td>
			<td align="center" style="border-right: #000000 1px solid; border-bottom: #000000 1px solid;" width="100">数量</td>
			<td align="center" style="border-right: #000000 1px solid; border-bottom: #000000 1px solid;" width="120">库存</td>
		</tr>
	</table>
	<input type="button" οnclick="insertTable()" value="添加">
</body>
</html>




 

猜你喜欢

转载自blog.csdn.net/adsdassadfasdfasdf/article/details/7689870