最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一組JS創(chuàng)建和操作表格的函數(shù)集合

 更新時間:2009年05月07日 15:45:09   作者:  
在用AJAX的時候,經(jīng)常要用JS操作DOM,當(dāng)涉及到數(shù)據(jù)列表的時候,那用表格比較多,這里寫了組函數(shù)集合,專門用來操作表格,當(dāng)然,目前還有很多不足,但是對一些簡單操作還是很方便的。
stone.js
//**************************************神吹表格操作函數(shù)*******************************************************
//隱藏列
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";
}
//創(chuàng)建表格
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);//設(shè)置創(chuàng)建的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;
}
//添加子節(jié)點
function toAppendChild(tb,row,cel,child){
tb.rows[row].cells[cel].appendChild(child);
}
//刪除某行
function removeRow(tb,row){
tb.lastChild.removeChild(tb.rows[row]);
}
//單元格設(shè)置屬性
function cellSetAttribute(tb,row,col,attributeName,attributeValue){
tb.rows[row].cells[col].setAttribute(attributeName,attributeValue);
}
//單元格添加監(jiān)聽器
function cellAddListener(tb,row,cel,event,fun){
if(window.addEventListener)
{
//其它瀏覽器的事件代碼: Mozilla, Netscape, Firefox
//添加的事件的順序即執(zhí)行順序 //注意用 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);
}
//行設(shè)置屬性
function rowSetAttribute(tb,row,attributeName,attributeValue){
tb.rows[row].setAttribute(attributeName,attributeValue);
}
//行添加監(jiān)聽器
function rowAddListener(tb,row,event,fun){
if(window.addEventListener)
{
//其它瀏覽器的事件代碼: Mozilla, Netscape, Firefox
//添加的事件的順序即執(zhí)行順序 //注意用 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">
<!--
function giveText(){
for(var i=0;i<5;i++){
for(var j=0;j<5;j++){
insertText(mytable,i,j,i*5+j);
}
}
}
function addInput(){
var input = document.createElement("input");
input.setAttribute("type","text");
input.setAttribute("value","我是新增的");
toAppendChild(mytable,3,3,input);
}
function listen(){
alert('恭喜你!監(jiān)聽器安裝成功!');
}
//-->
</script>
</head>
<body>
表格函數(shù)測試<br />
<div id="u">
</div>
<input type="button" value="新建一個5X5的表格" onclick="createTable('u',5,5,'mytable');" />&nbsp;&nbsp;
<input type="button" value="顯示表格邊框" onclick="document.getElementById('mytable').setAttribute('border',1);" />&nbsp;&nbsp;
<input type="button" value="插入文本" onclick="giveText();" />&nbsp;&nbsp;
<input type="button" value="修改文本" onclick="updateText(mytable,3,3,'text')" />&nbsp;&nbsp;<br />
<input type="button" value="添加子節(jié)點input" onclick="addInput();" />&nbsp;&nbsp;
<input type="button" value="刪除第5行" onclick="removeRow(mytable,4);" />&nbsp;&nbsp;
<input type="button" value="設(shè)置單元格寬度" onclick="cellSetAttribute(mytable,0,0,'width','50')" />&nbsp;&nbsp;
<input type="button" value="添加單元格監(jiān)聽器" onclick="cellAddListener(mytable,2,2,'click',listen)" />&nbsp;&nbsp;<br />
<input type="button" value="行合并" onclick="mergerRow(mytable,2,1,2); document.getElementById('u').innerHTML=document.getElementById('u').innerHTML;" />&nbsp;&nbsp;
<input type="button" value="列合并" onclick="mergerCell(mytable,1,2,3); document.getElementById('u').innerHTML=document.getElementById('u').innerHTML;" />&nbsp;&nbsp;
<input type="button" value="設(shè)置單元格背景色" onclick="cellsSetAttribute(mytable,'class','testclass'); document.getElementById('u').innerHTML=document.getElementById('u').innerHTML;" />&nbsp;&nbsp;
<input type="button" value="設(shè)置行高" onclick="rowSetAttribute(mytable,2,'height','50');" />&nbsp;&nbsp;<br />
<input type="button" value="新增第4行監(jiān)聽器" onclick="rowAddListener(mytable,3,'click',listen);" />&nbsp;&nbsp;
<input type="button" value="新增一行" onclick="insertRow(mytable);" />&nbsp;&nbsp;
<input type="button" value="新增列" onclick="addCells(mytable);" />&nbsp;&nbsp;
</body>
</html>
測試截圖:

相關(guān)文章

  • JavaScript使用docx-preview和mammoth預(yù)覽Docx

    JavaScript使用docx-preview和mammoth預(yù)覽Docx

    這篇文章主要為大家詳細(xì)介紹了兩個庫,即docx-preview和mammoth,利用它們,你就能在瀏覽器中完美預(yù)覽 Word 文檔,甚至連表格樣式,頁眉頁腳都原汁原味地呈現(xiàn)出來,下面我們來看看具體使用步驟吧
    2025-04-04
  • 基于html+css+js實現(xiàn)簡易計算器代碼實例

    基于html+css+js實現(xiàn)簡易計算器代碼實例

    這篇文章主要介紹了基于html+css+js實現(xiàn)簡易計算器代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • [JS]實現(xiàn)動態(tài)增加框架!未完成

    [JS]實現(xiàn)動態(tài)增加框架!未完成

    [JS]實現(xiàn)動態(tài)增加框架!未完成...
    2007-03-03
  • 前端處理二進制流文件導(dǎo)出為excel表代碼示例

    前端處理二進制流文件導(dǎo)出為excel表代碼示例

    這篇文章主要給大家介紹了關(guān)于前端處理二進制流文件導(dǎo)出為excel表的相關(guān)資料,后臺管理系統(tǒng),常會出現(xiàn)導(dǎo)出excel表格功能,需要的朋友可以參考下
    2023-08-08
  • bootstrap網(wǎng)頁框架的使用方法

    bootstrap網(wǎng)頁框架的使用方法

    這篇文章主要為大家詳細(xì)介紹了bootstrap網(wǎng)頁框架的使用方法,感興趣的小伙伴們可以參考一下
    2016-05-05
  • electron中preload.js文件的用法小結(jié)

    electron中preload.js文件的用法小結(jié)

    preload.js文件在Electron應(yīng)用中起著橋梁的作用,使得在保持安全的同時,渲染進程可以訪問主進程的功能,保持渲染進程與主進程隔離的同時,又能使渲染進程具有訪問特定Electron API的能力的方法,本文給大家分享electron中preload.js文件的用法,感興趣的朋友一起看看吧
    2024-04-04
  • JavaScript利用事件循環(huán)實現(xiàn)數(shù)據(jù)預(yù)加載

    JavaScript利用事件循環(huán)實現(xiàn)數(shù)據(jù)預(yù)加載

    當(dāng)我們請求好第一頁數(shù)據(jù)后,將請求下一頁放到異步任務(wù)隊列里(宏任務(wù)或者微任務(wù)),等當(dāng)前同步任務(wù)執(zhí)行完成后,立馬請求下一頁數(shù)據(jù),本文給大家介紹了JavaScript如何利用事件循環(huán)實現(xiàn)數(shù)據(jù)預(yù)加載,需要的朋友可以參考下
    2024-05-05
  • .net,js捕捉文本框回車鍵事件的小例子(兼容多瀏覽器)

    .net,js捕捉文本框回車鍵事件的小例子(兼容多瀏覽器)

    .net,js捕捉文本框回車鍵事件的小例子(兼容多瀏覽器),需要的朋友可以參考一下
    2013-03-03
  • p5.js繪制旋轉(zhuǎn)的正方形

    p5.js繪制旋轉(zhuǎn)的正方形

    這篇文章主要為大家詳細(xì)介紹了p5.js繪制旋轉(zhuǎn)的正方形,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JS使用canvas繪制旋轉(zhuǎn)風(fēng)車動畫

    JS使用canvas繪制旋轉(zhuǎn)風(fēng)車動畫

    這篇文章主要為大家詳細(xì)介紹了JS使用canvas繪制旋轉(zhuǎn)風(fēng)車動畫,有加速減速啟動停止功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評論

团风县| 镇江市| 贵州省| 疏附县| 花垣县| 织金县| 正镶白旗| 扎鲁特旗| 江门市| 抚宁县| 绍兴县| 德阳市| 咸丰县| 红河县| 邢台县| 饶河县| 沁阳市| 宁明县| 闽侯县| 邢台县| 大名县| 永昌县| 板桥市| 温泉县| 麦盖提县| 洞口县| 尼勒克县| 洛隆县| 施秉县| 玛多县| 陇南市| 定日县| 洪湖市| 浦城县| 登封市| 南汇区| 邢台县| 樟树市| 禄丰县| 永丰县| 新巴尔虎左旗|