HTML案例——动态创建表格(createElement方法)

tech2022-07-17  162

html代码:

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> 行:<input type="text" id='row' /> 列:<input type="text" id='col' /> <input type="button" value="创建" id="btn"/> <div id="box"></div> </body> </html>

JS代码

<script type="text/javascript"> //传入元素id,返回指定id元素 function $id(id){ return document.getElementById(id) } //生成一个n到m之间的随机整数 function rand(n,m){ return n+parseInt(Math.random()*(m-n+1)); } //生成一个16进制的随机颜色 function color(){ var result= "#"; for(var i=0;i<6;i++){ result += rand(0,15).toString(16) // 把十进制的数字变成十六进制的字符串:0 1 ...9 a b c d f } return result; } //点击创建按钮创建表格 $id("btn").onclick = function(){ $id("box").innerHTML = "";//再次创建表格前,先清空div容器 var oTab = document.createElement("table"); oTab.border = 1; var rTxt = $id("row").value; var cTxt = $id("col").value; for( var i = 0 ; i < rTxt ; i++ ){ //行 var oTr = document.createElement("tr"); for( var j = 0 ; j < cTxt ; j++ ){//列 var oTd = document.createElement("td"); oTd.innerHTML = rand(1,100); oTd.style.backgroundColor = getColor(); oTr.appendChild(oTd); } //添加一列 // var endTd = document.createElement("td"); // endTd.innerHTML = "<a href='javascript:;'>删除</a>"; // oTr.appendChild(endTd); oTab.appendChild(oTr); } $id("box").appendChild( oTab ); //动态创建的元素 在函数体内部查找 (如果在函数体外部查找,必须使用委托) var alist = document.getElementsByTagName("a"); //通过循环 为每一个超链接 添加事件 for( var i = 0 ; i < alist.length ; i++ ){ alist[i].onclick = function(){ //alert(i) ---- alist.length //删除当前操作的a对应的行tr //this 指向当前操作的 a if( confirm("确定要删除么?") ){ this.parentNode.parentNode.remove(); //找到a标签的父节点的父节点--tr,并删除 } } } } </script>
最新回复(0)