一组JS创建和操作表格的函数集合_Javascript教程-查字典教程网
一组JS创建和操作表格的函数集合
一组JS创建和操作表格的函数集合
发布时间:2017-01-14 来源:查字典编辑
摘要:stone.js//**************************************神吹表格操作函数**************...

stone.js

//**************************************神吹表格操作函数*******************************************************

//隐藏列

function setHiddenRow(tb,iCol){

for (i=0;i<oTable.rows.length;i++){

tb.rows[i].cells[iCol].style.display = oTable.rows[i].cells[iCol].style.display=="none"?"block":"none";

}

}

//隐藏行

function setHiddenRow(tb,iRow){

tb.rows[iRow].style.display = oTable.rows[iRow].style.display == "none"?"block":"none";

}

//创建表格

function createTable(id,rows,cells,tbid){

var tb=document.createElement("table");

var tbody = document.createElement("tbody");

for(var i=0;i<rows;i++){

var tr=document.createElement("tr");

for(var j=0;j<cells;j++){

var cell=document.createElement("td");

tr.appendChild(cell);

}

tbody.appendChild(tr);

}

tb.appendChild(tbody);

tb.setAttribute("id",tbid);//设置创建的TABLE的ID

document.getElementById(id).appendChild(tb);

}

//插入文本

function insertText(tb,row,cel,text){

txt=document.createTextNode(text);

tb.rows[row].cells[cel].appendChild(txt);

}

//修改文本

function updateText(tb,row,cel,text){

tb.rows[row].cells[cel].firstChild.nodeValue=text;

}

//添加子节点

function toAppendChild(tb,row,cel,child){

tb.rows[row].cells[cel].appendChild(child);

}

//删除某行

function removeRow(tb,row){

tb.lastChild.removeChild(tb.rows[row]);

}

//单元格设置属性

function cellSetAttribute(tb,row,col,attributeName,attributeValue){

tb.rows[row].cells[col].setAttribute(attributeName,attributeValue);

}

//单元格添加监听器

function cellAddListener(tb,row,cel,event,fun){

if(window.addEventListener)

{

//其它浏览器的事件代码: Mozilla, Netscape, Firefox

//添加的事件的顺序即执行顺序 //注意用 addEventListener 添加带on的事件,不用加on

// img.addEventListener('click', delRow(this), true);

tb.rows[row].cells[cel].addEventListener(event,fun, true);

}

else

{

//IE 的事件代码 在原先事件上添加 add 方法

// img.attachEvent('onclick',delRow(this));

tb.rows[row].cells[cel].attachEvent("on"+event,fun);

}

}

//新增行

function insertRow(oTable){

var tr=document.createElement("tr");

for (i=0;i<oTable.rows[0].cells.length;i++){

var td= document.createElement("td");

tr.appendChild(td);

}

oTable.lastChild.appendChild(tr);

}

//行设置属性

function rowSetAttribute(tb,row,attributeName,attributeValue){

tb.rows[row].setAttribute(attributeName,attributeValue);

}

//行添加监听器

function rowAddListener(tb,row,event,fun){

if(window.addEventListener)

{

//其它浏览器的事件代码: Mozilla, Netscape, Firefox

//添加的事件的顺序即执行顺序 //注意用 addEventListener 添加带on的事件,不用加on

// img.addEventListener('click', delRow(this), true);

tb.rows[row].addEventListener(event,fun, true);

}

else

{

//IE 的事件代码 在原先事件上添加 add 方法

// img.attachEvent('onclick',delRow(this));

tb.rows[row].attachEvent("on"+event,fun);

}

}

//新增列

function addCells(tb){

for (i=0;i<tb.rows.length;i++){

var td= document.createElement("td");

tb.rows[i].appendChild(td);

}

}

//批量修改单元格属性

function cellsSetAttribute(oTable,attributeName,attributeValue){

for (i=0;i<oTable.rows.length;i++){

for (j=0;j<oTable.rows[i].cells.length;j++){

oTable.rows[i].cells[j].setAttribute(attributeName,attributeValue);

}

}

}

//合并只支持单向合并

//行合并

function mergerRow(tb,row,cell,num){

for(var i= (row+1),j=0;j<(num-1);j++){

tb.rows[i].removeChild(tb.rows[i].cells[cell]);

}

tb.rows[row].cells[cell].setAttribute("rowspan",num);

// document.getElementById('c').innerHTML=document.getElementById('u').innerHTML;

}

//列合并

function mergerCell(tb,row,cell,num){

for(var i= (cell+1), j=0;j<(num-1);j++){

tb.rows[row].removeChild(tb.rows[row].cells[i]);

}

tb.rows[row].cells[cell].setAttribute("colspan",num);

// document.getElementById('c').innerHTML=document.getElementById('u').innerHTML;

}

测试DEMO

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title> new document </title>

<meta name="generator" content="editplus" />

<meta name="author" content="" />

<meta name="keywords" content="" />

<meta name="description" content="" />

<style>

.testclass{background-color:yellow;}

</style>

<script type="text/javascript" src="stone.js"></script>

<script type="text/javascript">

<>

</script>

</head>

<body>

表格函数测试<br />

<div id="u">

</div>

<input type="button" value="新建一个5X5的表格" />

<input type="button" value="显示表格边框" />

<input type="button" value="插入文本" />

<input type="button" value="修改文本" /><br />

<input type="button" value="添加子节点input" />

<input type="button" value="删除第5行" />

<input type="button" value="设置单元格宽度" />

<input type="button" value="添加单元格监听器" /><br />

<input type="button" value="行合并" />

<input type="button" value="列合并" />

<input type="button" value="设置单元格背景色" />

<input type="button" value="设置行高" /><br />

<input type="button" value="新增第4行监听器" />

<input type="button" value="新增一行" />

<input type="button" value="新增列" />

</body>

</html>

测试截图:

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类