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

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

 更新時(shí)間:2009年05月07日 15:45:09   作者:  
在用AJAX的時(shí)候,經(jīng)常要用JS操作DOM,當(dāng)涉及到數(shù)據(jù)列表的時(shí)候,那用表格比較多,這里寫了組函數(shù)集合,專門用來操作表格,當(dāng)然,目前還有很多不足,但是對(duì)一些簡(jiǎn)單操作還是很方便的。
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é)點(diǎn)
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;
}
測(cè)試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ù)測(cè)試<br />
<div id="u">
</div>
<input type="button" value="新建一個(gè)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é)點(diǎn)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>
測(cè)試截圖:

相關(guān)文章

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

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

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

    基于html+css+js實(shí)現(xiàn)簡(jiǎn)易計(jì)算器代碼實(shí)例

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

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

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

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

    這篇文章主要給大家介紹了關(guān)于前端處理二進(jìn)制流文件導(dǎo)出為excel表的相關(guān)資料,后臺(tái)管理系統(tǒng),常會(huì)出現(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)用中起著橋梁的作用,使得在保持安全的同時(shí),渲染進(jìn)程可以訪問主進(jìn)程的功能,保持渲染進(jìn)程與主進(jìn)程隔離的同時(shí),又能使渲染進(jìn)程具有訪問特定Electron API的能力的方法,本文給大家分享electron中preload.js文件的用法,感興趣的朋友一起看看吧
    2024-04-04
  • JavaScript利用事件循環(huán)實(shí)現(xiàn)數(shù)據(jù)預(yù)加載

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

    當(dāng)我們請(qǐng)求好第一頁數(shù)據(jù)后,將請(qǐng)求下一頁放到異步任務(wù)隊(duì)列里(宏任務(wù)或者微任務(wù)),等當(dāng)前同步任務(wù)執(zhí)行完成后,立馬請(qǐng)求下一頁數(shù)據(jù),本文給大家介紹了JavaScript如何利用事件循環(huán)實(shí)現(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ì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JS使用canvas繪制旋轉(zhuǎn)風(fēng)車動(dòng)畫

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

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

最新評(píng)論

康乐县| 绥江县| 岳阳县| 资源县| 渝中区| 贺兰县| 定陶县| 视频| 永善县| 金门县| 兴海县| 西安市| 昂仁县| 太湖县| 万宁市| 陇南市| 苗栗县| 长丰县| 禹城市| 卫辉市| 页游| 赤壁市| 新郑市| 六安市| 昌都县| 双江| 涟水县| 阿城市| 荃湾区| 呼图壁县| 五华县| 新邵县| 页游| 双柏县| 蒙山县| 青冈县| 淳化县| 桐梓县| 卢湾区| 晴隆县| 石台县|