溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

DOM操作表格

發(fā)布時間:2020-07-28 19:24:32 來源:網(wǎng)絡(luò) 閱讀:208 作者:張立達(dá) 欄目:網(wǎng)絡(luò)安全

前面的話

  表格table元素是HTML中最復(fù)雜的結(jié)構(gòu)之一。要想創(chuàng)建表格,一般都必須涉及表示表格行、單元格、表頭等方面的標(biāo)簽。由于涉及的標(biāo)簽多,因而使用核心DOM方法創(chuàng)建和修改表格往往都免不了要編寫大量的代碼。本文將詳細(xì)介紹DOM操作表格的屬性和方法

 

需求

  要通過DOM實(shí)現(xiàn)下列格式的表格結(jié)構(gòu)

DOM操作表格

<table border = "1" width = "100%">
    <tbody>
        <tr>
            <td>Cell 1,1</td>
            <td>Cell 2,1</td>
        </tr>
        <tr>
            <td>Cell 1,2</td>
            <td>Cell 2,2</td>
        </tr>        
    </tbody>
</table>

DOM操作表格

 

DOMcore

  如果通過DOMcore方法,則方法如下

DOM操作表格

//創(chuàng)建表格var table = document.createElement("table");
table.border = "1";
table.width = "100%";//創(chuàng)建tbodyvar tbody = document.createElement("tbody");
table.appendChild(tbody);//創(chuàng)建第一行var row1 = document.createElement("tr");
tbody.appendChild(row1);var cell1_1 = document.createElement("td");
cell1_1.appendChild(document.createTextNode("Cell 1,1"));
row1.appendChild(cell1_1);var cell2_1 = document.createElement("td");
cell2_1.appendChild(document.createTextNode("Cell 2,1"));
row1.appendChild(cell2_1);//創(chuàng)建第二行var row2 = document.createElement("tr");
tbody.appendChild(row2);var cell1_2 = document.createElement("td");
cell1_2.appendChild(document.createTextNode("Cell 1,2"));
row2.appendChild(cell1_2);var cell2_2 = document.createElement("td");
cell2_2.appendChild(document.createTextNode("Cell 2,2"));
row2.appendChild(cell2_2);//將表格添加到文檔主體中document.body.appendChild(table);

DOM操作表格

 

屬性和方法

  顯然DOM代碼很長,為了方便構(gòu)建表格,HTML DOM為<table>、<tbody>、<tr>元素添加了屬性和方法。

【1】為<table>元素添加的屬性和方法

DOM操作表格

caption:保存著對<caption>元素的指針
tBodies:是一個<tbody>元素的HTMLCollection
tFoot:保存著對<tfoot>元素的指針
tHead:保存著對<thead>元素的指針
createTHead():創(chuàng)建<thead>元素,將其放到表格中,返回引用
createTFoot():創(chuàng)建<tfoot>元素,將其放到表格中,返回引用
createCaption():創(chuàng)建<caption>元素,將其放到表格中,返回引用
deleteTHead():刪除<thead>元素
deleteTFoot():刪除<tfoot>元素
deleteCaption():刪除<caption>元素

DOM操作表格

 【2】為<tbody>元素添加的屬性和方法

rows:保存著<tbody>元素中行的HTMLCollection
deleteRow(pos):刪除指定位置的行
insertRow(pos):向rows集合中的指定位置插入一行,返回對新插入行的引用

【3】為<tr>元素添加的屬性和方法

cells:保存著<tr>元素中單元格的HTMLCollection
deleteCell(pos):刪除指定位置的單元格
insertCell(pos):向cells集合中的指定位置插入一個單元格,返回對新插入單元格的引用

 

代碼重寫

DOM操作表格

//創(chuàng)建表格var table = document.createElement("table");
table.border = "1";
table.width = "100%";//創(chuàng)建tbodyvar tbody = document.createElement("tbody");
table.appendChild(tbody);//創(chuàng)建第一行tbody.insertRow(0);
tbody.rows[0].insertCell(0);
tbody.rows[0].cells[0].appendChild(document.createTextNode("Cell 1,1"));
tbody.rows[0].insertCell(1);
tbody.rows[0].cells[1].appendChild(document.createTextNode("Cell 2,1"));//創(chuàng)建第二行tbody.insertRow(1);
tbody.rows[1].insertCell(0);
tbody.rows[1].cells[0].appendChild(document.createTextNode("Cell 1,2"));
tbody.rows[1].insertCell(1);
tbody.rows[1].cells[1].appendChild(document.createTextNode("Cell 2,2"));//將表格添加到文檔主體中document.body.appendChild(table);

DOM操作表格

 

效果展示


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI