js 动态创建表格
来源:互联网 发布:全面战争 知乎 编辑:程序博客网 时间:2024/04/29 11:00
我们利用JS操作DOM的能力,动态创建一张表格,可以动态增加行,删除行,复选框有全选的功能!有以下3个文件:
1. dom.css
.tbl {
font-size: 12px;
border: 1px solid #ebebee;
}
.cell {
font-size: 12px;
border-bottom: 1px solid #ebebee;
width: 120px;
text-align: center;
}
2. dom.js
//页面加载后调用init函数
window.onload = init;
//动态给文档创建CSS样式
document.createStyleSheet("dom.css");
function init(){
//获得body对象
var bodyObj = getBody();
//将按钮对象附加到body上作为body的子对象
var addBtn = createAddBtn();
bodyObj.appendChild(addBtn);
//将表格对象附加到body上作为body的子对象
var tableObj = createTable();
bodyObj.appendChild(tableObj);
}
function getBody(){
var bodyObj = document.getElementsByTagName("body")[0];
bodyObj.style.backgroundColor="#B7DBF5";
bodyObj.style.margin="0px";
bodyObj.style.padding="0px";
return bodyObj;
}
function createAddBtn(){
//动态创建一个按钮
var addBtn = document.createElement("input");
addBtn.type="button";
addBtn.value="add";
addBtn.onclick=function(){
var tbObj = document.getElementById("tbObjId");
tbObj.appendChild(createTr());
};
return addBtn;
}
function createTable(){
var tableObj = document.createElement("table");
tableObj.className="tbl";
tableObj.cellSpacing="0";
tableObj.cellPadding="5";
var tbObj = createTbody();
tableObj.appendChild(tbObj);
return tableObj;
}
function createTbody(){
var tbObj = document.createElement("tbody");
tbObj.id="tbObjId";
var trObj = createHeaderTr();
tbObj.appendChild(trObj);
for(var i=0;i<5;i++)
{
trObj = createTr();
tbObj.appendChild(trObj);
}
return tbObj;
}
function createHeaderTr(){
var trObj = document.createElement("tr");
trObj.bgColor="#eeccee";
trObj.title="这是表头!";
var tdObj =createCkHeaderTd();
trObj.appendChild(tdObj);
for(var j=0;j<4;j++)
{
tdObj = createPlainHeaderTd();
trObj.appendChild(tdObj);
}
tdObj = createHeaderTd();
trObj.appendChild(tdObj);
return trObj;
}
function createPlainHeaderTd(){
var tdObj = document.createElement("th");
tdObj.className="cell";
var textObj = document.createTextNode("TITLE");
tdObj.appendChild(textObj);
return tdObj;
}
function createHeaderTd(){
var tdObj = document.createElement("th");
tdObj.className="cell";
var textObj = document.createTextNode("OPERATION");
tdObj.appendChild(textObj);
return tdObj;
}
function createCkHeaderTd(){
var tdObj = document.createElement("td");
tdObj.className="cell";
var ckBox = createCheckbox("ckAll");
tdObj.appendChild(ckBox);
return tdObj;
}
function createTr(){
var trObj = document.createElement("tr");
trObj.bgColor="white";
trObj.onmouseover=function(){
this.bgColor="#B7DBF5";
};
trObj.onmouseout=function(){
this.bgColor="white";
};
var tdObj =createCkTd();
trObj.appendChild(tdObj);
for(var j=0;j<4;j++)
{
tdObj = createPlainTd();
trObj.appendChild(tdObj);
}
tdObj = createTd();
trObj.appendChild(tdObj);
return trObj;
}
function createPlainTd(){
var tdObj = document.createElement("td");
tdObj.className="cell";
var textObj = document.createTextNode("hello");
tdObj.appendChild(textObj);
return tdObj;
}
function createTd(){
var tdObj = document.createElement("td");
tdObj.className="cell";
var delBtn = createDelBtn();
tdObj.appendChild(delBtn);
return tdObj;
}
function createCkTd(){
var tdObj = document.createElement("td");
tdObj.className="cell";
var ckBox = createCheckbox("item");
tdObj.appendChild(ckBox);
return tdObj;
}
function createDelBtn(){
var delBtn = document.createElement("input");
delBtn.type="button";
delBtn.value="delete";
delBtn.onclick=function(){
var delBtnPP = this.parentNode.parentNode;
//delBtnPP.parentNode.deleteRow(delBtnPP.rowIndex);
delBtnPP.parentNode.removeChild(delBtnPP);
};
return delBtn;
}
function createCheckbox(name){
var ckBox = document.createElement("input");
//ckBox.name= name;IE6下name属性只读
ckBox.id=name;
ckBox.type="checkbox";
if(name=="ckAll"){
ckBox.onclick=function(){
var items = document.getElementsByName("item");
//alert(items.length);
for(var i=0;i<items.length;i++)
{
items[i].checked = this.checked;
}
};
}
return ckBox;
}
3. dom.html
<script src="dom.js"></script>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lenotang/archive/2008/08/20/2803852.aspx
- js动态创建表格
- js动态创建表格
- js动态创建表格
- JS动态创建表格
- JS动态创建表格
- JS 动态创建表格
- js 动态创建表格
- JS动态创建表格
- js动态创建表格
- js动态创建表格
- js动态创建,删除表格
- 用JS动态创建表格
- js动态创建、删除表格
- js动态创建表格------Day59
- IE中JS动态创建表格元素
- js动态创建表格(获值方式)
- 在js中动态创建表格
- 使用js创建一个动态表格
- 为什么说Neutron不是SDN
- Oracle数据库日期范围查询的两种实现方式
- 混沌图像---陈氏吸引子的飞蛾
- 《C++语言基础》网络课程主页
- Django 1.7 配置静态文件
- js 动态创建表格
- 例题11-6 这不是bug,而是特性 UVa658
- 统一交换机接口的千难万阻
- ORACLE事务隔离级别
- N皇后问题(N queen‘s problem)
- 10 款最好的远程桌面软件
- Windows XP 系统启动过程分析
- 详解Static_cast , Dynamic_cast及其背后的RTTI思想
- 3D塔防游戏实现 5.1 3D炮塔能攻击了(Feekood语言)