JavaScript 學(xué)習(xí)筆記(十三)Dom創(chuàng)建表格
更新時(shí)間:2010年01月21日 22:42:16 作者:
下面弄個(gè)實(shí)例,運(yùn)用Dom的知識(shí),實(shí)例操作。
Dom基礎(chǔ)—?jiǎng)?chuàng)建表格
利用js來動(dòng)態(tài)創(chuàng)建表格有兩種格式,appendChild()和insertRow、insertCell()。但第一種有可能在IE上有問題,所以推薦使用第二種。
1、insertRow(index):index從0開始
這個(gè)函數(shù)將新行添加到index的那一行前,比如insertRow(0),是將新行添加到第一行之前。默認(rèn)的insertRow()函數(shù)相當(dāng)于 insertRow(-1),將新行添加到表的最后。一般我們?cè)谑褂玫臅r(shí)候都是:
objTable.insertRow (objTable.rows.length)就是為表格objTable在最后新增一行。
insertCell()和insertRow的用法相同。
2、deleteRow(index):index從0開始
刪除指定位置的行,要傳入的參數(shù):Index是行在表格中的位置,可以下面的方法取得然后去刪除:
var row = document.getElementById("行的Id");
var index = row.rowIndex; //有這個(gè)屬性
objTable.deleteRow(index);
在使用過程中,刪除表格的行的時(shí)候,如果刪除了某一行,那么表格行數(shù)是馬上就變化的,rows.length總是在變小,所以如果你要?jiǎng)h除表格的所有行:
function removeAllRow() {
var objTable = document.getElementById("myTable");
var length = objTable.rows.length;
for (var i = 1; i < length; i++) {
objTable.deleteRow(i);
}
}
3、setAttribute()方法,動(dòng)態(tài)設(shè)置單元格與行的屬性
格式如下:setAttribute(屬性,屬性值)
var objMyTable = document.getElementById("myTable");
objMyTable.setAttribute("border", 1); //為表格設(shè)置邊框?yàn)?
在使用的時(shí)候遇到一個(gè)設(shè)置樣式的問題,不能用
setAttribute("class","inputbox1");而應(yīng)該使用
setAttribute("className","inputbox1"),
4、創(chuàng)建表格
了解了行<tr>與單元格<td>的增刪那就可以創(chuàng)建表格了。
第一步:你需要有一個(gè)你去動(dòng)態(tài)變化的表格,這里講的是已經(jīng)存在頁面的表格,我們?cè)O(shè)置一個(gè)id:myTable
var objMyTable = document.getElementById("myTable");
第二步:創(chuàng)建行與列的對(duì)象
var index = objMyTable.rows.length;
var nextRow = objMyTable.insertRow(index); //在最后的行
//var nextRow = objMyTable.insertRow(0); //在最前的行
下面是示例代碼
<script type="text/javascript">
var Count = false; //控制交替換行
var NO = 1; //行號(hào)
function addRow() {
Count = !Count;
//添加一行
var newTr = table.insertRow(table.rows.length); //在最后新增一行
//var newTr = table.insertRow(0); //在最前面新增一行
//添加兩列
var newTd0 = newTr.insertCell();
var newTd1 = newTr.insertCell();
var newTd2 = newTr.insertCell();
//設(shè)置列內(nèi)容和屬性
if (Count) {
newTr.style.background = "#FFE1FF";
}
else {
newTr.style.background = "#FFEFD5";
}
NO++;
newTd0.innerHTML = '<input type=checkbox id="box' + NO + '" />';
newTd1.innerText = "第" + NO + "行";
newTd2.innerHTML = '<input type="text" id="Text' + NO + '" />';
}
</script>
<body>
<form id="form1" runat="server">
<input type="button" value="插入行" onclick="addRow()" />
<table width="399" border="0" cellspacing="1" id="table" style="font-size: 14px;">
<tr bgcolor="#FFEFD5">
<td width="6%">
<input type="checkbox" id="box1" />
</td>
<td>
第1行
</td>
<td>
<input id="Text1" type="text" />
</td>
</tr>
</table>
</form>
</body>
利用js來動(dòng)態(tài)創(chuàng)建表格有兩種格式,appendChild()和insertRow、insertCell()。但第一種有可能在IE上有問題,所以推薦使用第二種。
1、insertRow(index):index從0開始
這個(gè)函數(shù)將新行添加到index的那一行前,比如insertRow(0),是將新行添加到第一行之前。默認(rèn)的insertRow()函數(shù)相當(dāng)于 insertRow(-1),將新行添加到表的最后。一般我們?cè)谑褂玫臅r(shí)候都是:
objTable.insertRow (objTable.rows.length)就是為表格objTable在最后新增一行。
insertCell()和insertRow的用法相同。
2、deleteRow(index):index從0開始
刪除指定位置的行,要傳入的參數(shù):Index是行在表格中的位置,可以下面的方法取得然后去刪除:
var row = document.getElementById("行的Id");
var index = row.rowIndex; //有這個(gè)屬性
objTable.deleteRow(index);
在使用過程中,刪除表格的行的時(shí)候,如果刪除了某一行,那么表格行數(shù)是馬上就變化的,rows.length總是在變小,所以如果你要?jiǎng)h除表格的所有行:
復(fù)制代碼 代碼如下:
function removeAllRow() {
var objTable = document.getElementById("myTable");
var length = objTable.rows.length;
for (var i = 1; i < length; i++) {
objTable.deleteRow(i);
}
}
3、setAttribute()方法,動(dòng)態(tài)設(shè)置單元格與行的屬性
格式如下:setAttribute(屬性,屬性值)
var objMyTable = document.getElementById("myTable");
objMyTable.setAttribute("border", 1); //為表格設(shè)置邊框?yàn)?
在使用的時(shí)候遇到一個(gè)設(shè)置樣式的問題,不能用
setAttribute("class","inputbox1");而應(yīng)該使用
setAttribute("className","inputbox1"),
4、創(chuàng)建表格
了解了行<tr>與單元格<td>的增刪那就可以創(chuàng)建表格了。
第一步:你需要有一個(gè)你去動(dòng)態(tài)變化的表格,這里講的是已經(jīng)存在頁面的表格,我們?cè)O(shè)置一個(gè)id:myTable
var objMyTable = document.getElementById("myTable");
第二步:創(chuàng)建行與列的對(duì)象
復(fù)制代碼 代碼如下:
var index = objMyTable.rows.length;
var nextRow = objMyTable.insertRow(index); //在最后的行
//var nextRow = objMyTable.insertRow(0); //在最前的行
下面是示例代碼
復(fù)制代碼 代碼如下:
<script type="text/javascript">
var Count = false; //控制交替換行
var NO = 1; //行號(hào)
function addRow() {
Count = !Count;
//添加一行
var newTr = table.insertRow(table.rows.length); //在最后新增一行
//var newTr = table.insertRow(0); //在最前面新增一行
//添加兩列
var newTd0 = newTr.insertCell();
var newTd1 = newTr.insertCell();
var newTd2 = newTr.insertCell();
//設(shè)置列內(nèi)容和屬性
if (Count) {
newTr.style.background = "#FFE1FF";
}
else {
newTr.style.background = "#FFEFD5";
}
NO++;
newTd0.innerHTML = '<input type=checkbox id="box' + NO + '" />';
newTd1.innerText = "第" + NO + "行";
newTd2.innerHTML = '<input type="text" id="Text' + NO + '" />';
}
</script>
<body>
<form id="form1" runat="server">
<input type="button" value="插入行" onclick="addRow()" />
<table width="399" border="0" cellspacing="1" id="table" style="font-size: 14px;">
<tr bgcolor="#FFEFD5">
<td width="6%">
<input type="checkbox" id="box1" />
</td>
<td>
第1行
</td>
<td>
<input id="Text1" type="text" />
</td>
</tr>
</table>
</form>
</body>
您可能感興趣的文章:
- JavaScript DOM操作表格及樣式
- JavaScript與DOM組合動(dòng)態(tài)創(chuàng)建表格實(shí)例
- JavaScript DOM 學(xué)習(xí)第三章 內(nèi)容表格
- 詳解用js代碼觸發(fā)dom事件的實(shí)現(xiàn)方案
- 通過js隨機(jī)函數(shù)Math.random實(shí)現(xiàn)亂序
- JavaScript監(jiān)聽一個(gè)DOM元素大小變化
- Node.js Domain 模塊實(shí)例詳解
- JavaScript 實(shí)現(xiàn)HTML DOM增刪改查操作的常見方法詳解
- JS如何操作DOM基于表格動(dòng)態(tài)展示數(shù)據(jù)
相關(guān)文章
細(xì)說javascript函數(shù)從函數(shù)的構(gòu)成開始
javascript函數(shù)是一個(gè)比較奇怪的東西,接觸一段時(shí)間你就會(huì)犯迷糊,我想從函數(shù)的構(gòu)成來細(xì)說函數(shù),這聽起來像是一句廢話,講任何東西當(dāng)然是從構(gòu)成去談2013-08-08onkeyup,onkeydown和onkeypress的區(qū)別介紹
三者在事件的響應(yīng)上還有一點(diǎn)不同,就是onkeydown 、onkeypress事件響應(yīng)的時(shí)候輸入的字符并沒有被系統(tǒng)接受,而響應(yīng)onkeyup的時(shí)候,輸入流已經(jīng)被系統(tǒng)接受2013-10-10JavaScript入門教程(2) JS基礎(chǔ)知識(shí)
JavaScript 可以出現(xiàn)在 HTML 的任意地方。使用標(biāo)記<script>…</script>,你可以在 HTML 文檔的任意地方插入 JavaScript,甚至在<HTML>之前插入也不成問題。2009-01-01Javascript 實(shí)現(xiàn)簡(jiǎn)單計(jì)算器實(shí)例代碼
這篇文章主要介紹了Javascript 實(shí)現(xiàn)簡(jiǎn)單計(jì)算器實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-10-10JavaScript While 循環(huán)基礎(chǔ)教程
只要指定條件為 true,循環(huán)就可以一直執(zhí)行代碼,2007-04-04JavaScript中的setMilliseconds()方法使用詳解
這篇文章主要介紹了JavaScript中的setMilliseconds()方法使用詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06