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

原生javaScript做得動(dòng)態(tài)表格(注釋寫的很清楚)

 更新時(shí)間:2013年12月29日 17:28:07   作者:  
因?yàn)榭垂竞枚嘤脛?dòng)態(tài)表格的,所以,我就試著用js做了動(dòng)態(tài)表格,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下
最近看了3本o'reilly的書,我們一般稱為禽獸書(跟我一同學(xué)的名字很像大笑),然后一直想做一個(gè)列子來練練手,因?yàn)榭垂竞枚嘤脛?dòng)態(tài)表格的,所以,我就試著用js做了動(dòng)態(tài)表格,用firfox瀏覽器來調(diào)試的,因?yàn)閒irbug插件用著比較好,本來就是想實(shí)現(xiàn)一個(gè)很小的功能,沒想做那么多,就點(diǎn)擊按鈕能夠增加一行就行了,后來越加越多,也越來越好看了。把源碼貼出來,大家共同學(xué)習(xí),有問題也可以指正出來,js初學(xué)者,忘大神筆下留情。

ps:不知道上面為什么不顯示行號(hào),好久沒用了。 注釋寫的很清楚,大家共同學(xué)習(xí)。

復(fù)制代碼 代碼如下:

<span style="font-size:18px;"><!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>動(dòng)態(tài)表格</title>
<style type="text/css">
body{ background-color:#9CC; text-align:center}
table{ margin:10px auto;}
tr th { border: 1px solid #096;}
td{border: 1px solid #096;}
</style>
<script type="text/javascript">
/*在函數(shù)的外部只能聲明一些變量之類的,不能用操作方法,因?yàn)闆]有函數(shù)去調(diào)用執(zhí)行它。*/

//在載入頁面的時(shí)候就在表格頭放入選擇框,因?yàn)槭且淮涡缘?
window.onload = function(){
var tab = document.getElementById('tab');
var firsttr = document.getElementsByTagName('tr')[0];
var childtd = firsttr.childNodes;
//在第一行第一列上加入選擇框
var inp = document.createElement('input');
inp.type = 'checkbox';

//DOM Leve 2 事件注冊
catchEvent(inp,'click',function(){ //注冊函數(shù) 不同狀態(tài)進(jìn)行判斷
if(inp.checked ==true){
allSelect();
}else{
cancelSelect();
}
});
//catchEvent(inp,'click',allSelect);
//catchEvent(inp,'change',cancelSelect);
childtd[0].appendChild(inp);

}

//增加一行
//var count =0;//增加一列用來 計(jì)數(shù)
function addRow(){
//count++;
var tab = document.getElementById('tab');
var firsttr = document.getElementsByTagName('tr')[0];
var childtd = firsttr.childNodes;
var tr = document.createElement('tr');
var arrtd = new Array();
var arrinp = new Array();
for(var i =0;i<childtd.length;i++){
arrtd[i] = document.createElement('td');
arrinp[i] = document.createElement('input');
if(i==0){
arrinp[i].type = 'checkbox';
arrinp[i].name = 'selectbox';
}else if(i==1){
//arrinp[i] = document.createTextNode(count);
arrinp[i] = document.createTextNode('');
}
arrtd[i].appendChild(arrinp[i]);//思考為什么 input也要加上數(shù)組。
tr.appendChild(arrtd[i]);
}

tab.appendChild(tr);
newSort();
}
//刪除操作
function deleteRow(){
var parentTr = new Array();//先把被選中的行放在一個(gè)數(shù)組上
var box = document.getElementsByName('selectbox');
var tab = document.getElementById('tab');
for(var i = 0;i<box.length;i++){
if(box[i].checked==true){
var parent = box[i].parentNode;
parentTr[i] = parent.parentNode;//如果直接這種為放在里面為什么不能完全刪除??是因?yàn)榉磻?yīng)不夠嗎?
//tab.removeChild(parentTr);
}
}
for(var i = 0;i<parentTr.length;i++){ //這樣做才能把選中的全部刪除
if(parentTr[i]){ //這邊要先判斷一下是否為空值,如果不為空才去移除,否者會(huì)報(bào)錯(cuò)。
tab.removeChild(parentTr[i]);
}
}
newSort();
}

//如果執(zhí)行刪除的話則,重新進(jìn)行排序
function newSort(){
var text = new Array();
var child_td = new Array();
var arr_tr = document.getElementsByTagName('tr');
for(var i = 1;i<arr_tr.length;i++){
child_td[i] = arr_tr[i].childNodes[1];//獲得從第二行開始所有第二列的節(jié)點(diǎn)
if(child_td[i].childNodes[0]){
child_td[i].removeChild(child_td[i].childNodes[0]);
}
text[i] = document.createTextNode(i);
child_td[i].appendChild(text[i]);

}
}
//全選操作
function allSelect(){
var box = document.getElementsByName('selectbox');
for(var i= 0;i<box.length;i++){
box[i].checked = true;
}
}

//全部取消選擇
function cancelSelect(){
var box = document.getElementsByName('selectbox');
for(var i = 0;i<box.length;i++){
if(box[i].checked == true){
box[i].checked =false;
}
}
}
//事件注冊函數(shù)
function catchEvent(eventobj,event,eventHandler){
if(eventobj.addEventListener){
eventobj.addEventListener(event,eventHandler,false);
}else if(eventobj.attachEvent){
event = 'on'+event;
eventobj.attachEvent(event,eventHandler);
}
}

//catchEvent(add,'click',addRow);

</script>
</head>

<body>
<h3>動(dòng)態(tài)表格</h3>
<input type="button" value="增加" id="add" onclick="addRow()" />
<input type="button" value="全部選擇" onclick="allSelect()" />
<input type="button" value="全部取消" onclick="cancelSelect()" />
<input type="button" value="刪除" id="delete" onclick="deleteRow()"/>
<table id="tab" cellpadding="5px" cellspacing="0px">
<tr><td></td><td>序號(hào)</td><td>題目一</td><td>題目二</td><td>題目三</td></tr>
</table>
</body>
</html></span>

相關(guān)文章

  • 支持IE和FF的div+css選項(xiàng)卡

    支持IE和FF的div+css選項(xiàng)卡

    支持IE和FF的div+css選項(xiàng)卡...
    2006-11-11
  • Web開發(fā)中使用SVG圖標(biāo)的7種方法舉例總結(jié)

    Web開發(fā)中使用SVG圖標(biāo)的7種方法舉例總結(jié)

    這篇文章主要介紹了7種嵌入SVG圖標(biāo)的方法,包括內(nèi)聯(lián)SVG、img標(biāo)簽、object標(biāo)簽、CSS背景圖像、SVG圖標(biāo)字體、use元素和JavaScript動(dòng)態(tài)加載,每種方法都有其優(yōu)勢和限制,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • 利用JavaScript實(shí)現(xiàn)靜態(tài)圖片局部流動(dòng)效果

    利用JavaScript實(shí)現(xiàn)靜態(tài)圖片局部流動(dòng)效果

    如果你有玩過《王者榮耀》、《陰陽師》?等手游,一定注意到過它的啟動(dòng)動(dòng)畫、皮膚立繪卡片等場景,經(jīng)常采用靜態(tài)底圖加局部液態(tài)流動(dòng)效果的簡單動(dòng)畫,本文將利用JavaScript實(shí)現(xiàn)這一效果,需要的可以參考一下
    2022-08-08
  • 詳解JavaScript RegExp對(duì)象

    詳解JavaScript RegExp對(duì)象

    RegExp對(duì)象是原生JavaScript中表示正則表達(dá)式的對(duì)象。接下來通過本文給大家詳細(xì)介紹javascript regexp對(duì)象知識(shí),需要的的朋友參考下吧
    2017-02-02
  • js 控制圖片大小核心講解

    js 控制圖片大小核心講解

    控制圖片大小的方法有很多,在本文將為大家詳細(xì)介紹下使用js實(shí)現(xiàn)縮放圖片,核心代碼如下,感興趣的朋友可以參考下
    2013-10-10
  • 詳解JavaScript之Array.reduce源碼解讀

    詳解JavaScript之Array.reduce源碼解讀

    這篇文章主要介紹了詳解JavaScript之Array.reduce源碼解讀,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • web3.js調(diào)用鏈上的方法操作NFT區(qū)塊鏈MetaMask詳解

    web3.js調(diào)用鏈上的方法操作NFT區(qū)塊鏈MetaMask詳解

    這篇文章主要為大家介紹了web3.js調(diào)用鏈上的方法操作NFT區(qū)塊鏈MetaMask詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • JS中addEventListener的使用示例詳解

    JS中addEventListener的使用示例詳解

    addEventListener是JavaScript中的一個(gè)方法,用于向一個(gè)元素添加事件監(jiān)聽器,本文給大家介紹JS中addEventListener的使用示例代碼,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • wap手機(jī)圖片滑動(dòng)切換特效無css3元素js腳本編寫

    wap手機(jī)圖片滑動(dòng)切換特效無css3元素js腳本編寫

    手機(jī)圖片滑動(dòng)切換,網(wǎng)上有很多這樣的例子,但都借助于其他組件,讓代碼混亂的不行,本例無css3元素js腳本編寫,需要的朋友可以參考下
    2014-07-07
  • js eval函數(shù)使用,js對(duì)象和字符串互轉(zhuǎn)實(shí)例

    js eval函數(shù)使用,js對(duì)象和字符串互轉(zhuǎn)實(shí)例

    下面小編就為大家?guī)硪黄猨s eval函數(shù)使用,js對(duì)象和字符串互轉(zhuǎn)實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03

最新評(píng)論

洛宁县| 长顺县| 吉安县| 沂水县| 巴林左旗| 苗栗市| 铜梁县| 泰兴市| 辽宁省| 沙雅县| 岳西县| 叙永县| 突泉县| 朝阳市| 汉寿县| 特克斯县| 齐河县| 青铜峡市| 雷州市| 年辖:市辖区| 梁河县| 海宁市| 太白县| 通辽市| 高密市| 曲沃县| 东乌珠穆沁旗| 兴海县| 四平市| 黑河市| 茌平县| 嘉善县| 博野县| 图们市| 响水县| 桐乡市| 开鲁县| 浪卡子县| 富蕴县| 通江县| 自贡市|