雖然現(xiàn)在前臺已經(jīng)很少用table來布局了,,但是有的地方還是會難免的用到table,,比如表單,或者其他的列表,,用table肯定比div來的方便,,那么,用table的話要加上js來實(shí)現(xiàn)一些效果,,比如刪除一行,,添加一行,所以,,有必要好好熟悉一下js對table的操作,, 首先要獲得table對象,,有很多方法, 通過ID,,table = document.getElementById()來獲得 通過CLASS,,table = document.getElementsByClass()來獲得 通過TABNAME,table = document.getElementsByTagName()來獲得 獲得table對象之后呢,,可能我們要先知道table對象有幾行,, 可以通過,table.rows.length來獲得行數(shù),,table.rows返回當(dāng)前table對象的行的集合,。通過row = table.rows[i]可以獲得table對象的第i+1行對象。對于row對象呢,,它有一個(gè)屬性,,就是row.rowIndex返回的是i, 然后呢,需要插入行,。有兩個(gè)函數(shù)可以供大家使用,, insertRow(index)和insertCell(index);看到函數(shù)名大家都可以明白是什么函數(shù)了,沒錯(cuò),,通過table對象調(diào)用insertRow函數(shù),,可以在table對象中插入一行然后返回新建的行對象,參數(shù)index是索引,,表示插在第幾行,,從0開始,但是index不能小于0或者大于table的現(xiàn)有行數(shù),,否則會報(bào)錯(cuò),。同理,通過行對象調(diào)用insertCell函數(shù),,可以在行對象中插入單元格并返回單元格對象,。參數(shù)index同樣是索引,同樣可以通過行對象的cells集合的長度來獲得,,row.cells.length,。 <html> 那如果要?jiǎng)h除行呢,? 我是通過獲得父節(jié)點(diǎn),然后刪除子節(jié)點(diǎn)來做到的 先獲得行對象tr,然后獲得tr對象的父節(jié)點(diǎn),。par = tr.parentNode(這里為什么要通過tr的父節(jié)點(diǎn)來獲取父節(jié)點(diǎn),,而不是直接通過其他直接的方法來獲取父節(jié)點(diǎn)呢,因?yàn)閒f和ie在這邊上有差別,,在ie上table下就是tr,,而在ff下table下還有thead和tbody,,tbody下才是tr,如果直接獲取,,則要判斷,,如果通過tr獲取父節(jié)點(diǎn),則可以直接用),,然后通過par.removeChild(tr)來刪除行,。具體就不是舉例了。 |
|