dom操作表格示例(dom創(chuàng)建表格)

字號:


    點評:這篇文章主要介紹了dom操作表格示例(dom創(chuàng)建表格),需要的朋友可以參考下
    一、使用HTML標簽創(chuàng)建表格:
    代碼如下:
    <tableborder="1"width="300">
    <caption>人員表</caption>
    <thead>
    <tr>
    <th>姓名</th>
    <th>性別</th>
    <th>年齡</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td>張三</td>
    <td>男</td>
    <td>20</td>
    </tr>
    <tr>
    <td>李四</td>
    <td>女</td>
    <td>22</td>
    </tr>
    </tbody>
    <tfoot>
    <tr>
    <tdcolspan="3">合計:N</td>
    </tr>
    </tfoot>
    </table>
    thead、tfoot、caption標簽在一個表格中只能有一個tbody、tr、td、th標簽在一個表格中可以有N個
    二、使用DOM創(chuàng)建表格
    <table>標簽是HTML中結(jié)構(gòu)最為復雜的一個,我們可以通過DOM來創(chuàng)建生成它,或者HTMLDOM來操作它。(HTMLDOM提供了更加方便快捷的方式來操作HTML)
    代碼如下:
    <script>
    window.onload=function(){
    vartable=document.createElement("table");
    //給表格添加屬性
    table.width=300;//還可以使用這種方法:table.setAttribute('width',300)
    table.border=1;</p> <p>//創(chuàng)建表格的標題
    varcaption=document.createElement("caption");
    table.appendChild(caption);</p> <p>//給表格的標題添加內(nèi)容
    //caption.innerHTML="人員表";//非W3c標準的方法
    varcaptionText=document.createTextNode("人員表");
    caption.appendChild(captionText);</p> <p>
    //創(chuàng)建表格的第一行,是個標題行
    varthead=document.createElement("thead");
    table.appendChild(thead);</p> <p>vartr=document.createElement("tr");
    thead.appendChild(tr);</p> <p>//列
    varth1=document.createElement("th");
    tr.appendChild(th1);
    th1.innerHTML="數(shù)據(jù)";
    varth2=document.createElement("th");
    tr.appendChild(th2);
    th2.innerHTML="數(shù)據(jù)";</p> <p>document.body.appendChild(table);
    };
    </script>
    三、使用DOM獲取表格數(shù)據(jù)(使用DOM操作表格會很煩)
    代碼如下:
    window.onload=function(){
    vartable=document.getElementsByTagName("table")[0];
    alert(table.children[0].innerHTML);
    };
    四、使用HTMLDOM來獲取表格數(shù)據(jù)(方便,簡單,清晰)。
    因為表格較為繁雜,層次也多,在使用之前所學習的DOM只是來獲取某個元素會非常難受,所以使用HTMLDOM會清晰很多。
    代碼如下:
    window.onload=function(){
    //使用HTMLDOM來獲取表格元素
    vartable=document.getElementsByTagName('table')[0];//獲取table引用
    //按HTMLDOM來獲取表格的<caption>
    alert(table.caption.innerHTML);//獲取caption的內(nèi)容
    //table.caption.innerHTML="學生表";//還可以設(shè)置值
    };
    代碼如下:
    window.onload=function(){
    //使用HTMLDOM來獲取表格元素
    vartable=document.getElementsByTagName('table')[0];//獲取table引用
    //按HTMLDOM來獲取表頭表尾<thead>、<tfoot>
    alert(table.tHead);//獲取表頭
    alert(table.tFoot);//獲取表尾</p> <p>//按HTMLDOM來獲取表體<tbody>
    alert(table.tBodies);//獲取表體的集合
    };
    在一個表格中<thead>和<tfoot>是唯一的,只能有一個。而<tbody>不是唯一的可以有多個,這樣導致最后返回的<thead>和<tfoot>是元素引用,而<tbody>返回的是元素集合。
    代碼如下:
    window.onload=function(){
    //使用HTMLDOM來獲取表格元素
    vartable=document.getElementsByTagName('table')[0];//獲取table引用
    //按HTMLDOM來獲取表格的行數(shù)
    alert(table.rows.length);//獲取行數(shù)的集合,數(shù)量</p> <p>//按HTMLDOM來獲取表格主體里的行數(shù)
    alert(table.tBodies[0].rows.length);//獲取主體的行數(shù)的集合,數(shù)量
    };
    代碼如下:
    window.onload=function(){
    //使用HTMLDOM來獲取表格元素
    vartable=document.getElementsByTagName('table')[0];//獲取table引用</p> <p>//按HTMLDOM來獲取表格主體內(nèi)第一行的單元格數(shù)量(tr)
    alert(table.tBodies[0].rows[0].cells.length);//獲取第一行單元格的數(shù)量
    };
    代碼如下:
    window.onload=function(){
    //使用HTMLDOM來獲取表格元素
    vartable=document.getElementsByTagName('table')[0];//獲取table引用</p> <p>//按HTMLDOM來獲取表格主體內(nèi)第一行第一個單元格的內(nèi)容(td)
    alert(table.tBodies[0].rows[0].cells[0].innerHTML);//獲取第一行第一個單元格的內(nèi)容
    };
    代碼如下:
    <script>
    window.onload=function(){
    //使用HTMLDOM來獲取表格元素
    vartable=document.getElementsByTagName('table')[0];//獲取table引用</p> <p>//按HTMLDOM來刪除標題、表頭、表尾、行、單元格
    //table.deleteCaption();//刪除標題
    //table.deleteTHead();//刪除<thead>
    //table.tBodies[0].deleteRow(0);//刪除<tr>一行
    //table.tBodies[0].rows[0].deleteCell(0);//刪除<td>一個單元格
    //table.tBodies[0].rows[0].deleteCell(1);//刪除一個單元格中的內(nèi)容,相當于刪除掉一個單元格,后面的但愿會補進
    };
    </script>
    五、HTMLDOM創(chuàng)建表格
    代碼如下:
    window.onload=function(){
    //按HTMLDOM創(chuàng)建一個表格
    vartable=document.createElement('table');
    table.border=1;
    table.width=300;</p> <p>table.createCaption().innerHTML='人員表';</p> <p>//table.createTHead();
    //table.tHead.insertRow(0);
    varthead=table.createTHead();//該方法返回一個引用
    vartr=thead.insertRow(0);//該方法返回一個引用</p> <p>vartd=tr.insertCell(0);
    //td.appendChild(document.createTextNode('數(shù)據(jù)'));//添加數(shù)據(jù)的一種方式,還可以使用下面種方式
    td.innerHTML="數(shù)據(jù)";
    vartd2=tr.insertCell(1);
    //td2.appendChild(document.createTextNode('數(shù)據(jù)2'));
    td2.innerHTML="數(shù)據(jù)2";</p> <p>document.body.appendChild(table);
    };在創(chuàng)建表格的時候<table>、<tbody>、<th>沒有特定的方法,需要使用document來創(chuàng)建。也可以模擬已有的方法編寫特定的函數(shù)即可,例如:insertTH()之類的。