JavaScript實(shí)現(xiàn)節(jié)點(diǎn)的刪除與序號重建實(shí)例
本文實(shí)例講述了JavaScript實(shí)現(xiàn)節(jié)點(diǎn)的刪除與序號重建。分享給大家供大家參考。具體如下:
這里演示JavaScript節(jié)點(diǎn)的刪除與重建方法,刪除節(jié)點(diǎn)后,會自動重新建立節(jié)點(diǎn),序號自動排列,比如刪除當(dāng)前的第3條數(shù)據(jù)后,第4條的序號會智能變?yōu)?,以此類推,保證序號不亂。
運(yùn)行效果如下圖所示:
刪除前:
刪除后:
具體代碼如下:
<!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>節(jié)點(diǎn)重建、示例代碼</title> <style type="text/css"> html{color:#000;background:#FFF;font-family:Arial, Helvetica, sans-serif;} body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;} table{border-collapse:collapse;border-spacing:0;} fieldset,img{border:0;} address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;} li{list-style:none;} caption,th{text-align:left;} h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} q:before,q:after{content:'';} abbr,acronym{border:0;font-variant:normal;} sup{vertical-align:text-top;} sub{vertical-align:text-bottom;} input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;} input,textarea,select{*font-size:100%;} legend{color:#000;} body{text-align:center;color:#000;} a:link,a:visited,a:hover{text-decoration:none;color:#049;} a:hover{text-decoration:underline;} table{margin:30px auto;width:600px;border:1px solid #CDCDCD;} thead{background-color:#F3F3F3;} th,td{height:26px;line-height:26px;font-size:14px;text-align:center;} .left{text-align:left;} </style> <base target="_blank" /> </head> <body> <table cellpadding="0" cellspacing="0"> <thead> <tr> <th width="50">編號</th> <th>標(biāo)題</th> <th width="50">操作</th> </tr> </thead> <tbody id="reroder-list"> <tr> <td>1</td> <td class="left"><a href="http://www.dbjr.com.cn/article/70631.htm">JS+CSS實(shí)現(xiàn)表格高亮的方法</a></td> <td><a href="#del" class="lnk-del">刪除</a></td> </tr> <tr> <td>2</td> <td class="left"><a href="http://www.dbjr.com.cn/article/70625.htm">JavaScript節(jié)點(diǎn)及列表操作實(shí)例小結(jié)</a></td> <td><a href="#del" class="lnk-del">刪除</a></td> </tr> <tr> <td>3</td> <td class="left"> <a href="http://www.dbjr.com.cn/article/70613.htm">JavaScript實(shí)現(xiàn)刪除,移動和復(fù)制文件的方法</a></td> <td><a href="#del" class="lnk-del">刪除</a></td> </tr> </tbody> </table> <script type="text/javascript"> var delAndReorder = function(root,rowTag,delTag,delClass,idTag){ var doc = document, list = doc.getElementById(root || 'reroder-list'); if(!list){ return false; } var stopEvent = function(evt){ stopPropagation(evt); preventDefault(evt); }, stopPropagation = function(evt){ if (evt.stopPropagation) { evt.stopPropagation(); } else { evt.cancelBubble = true; } }, preventDefault = function(evt){ if (evt.preventDefault) { evt.preventDefault(); } else { evt.returnValue = false; } }, hasClass = function(elem, className){ var has = new RegExp("(?:^|\\s+)" + className + "(?:\\s+|$)"); return has.test(elem.className); }, byClass = function(tag,className,root){ var elems = [], tempEl = root.getElementsByTagName(tag), i, len = tempEl.length; for (i = 0; i < len; ++i) { if (hasClass(tempEl[i], className)) { elems.push(tempEl[i]); } } if (elems.length < 1) { return false; } else { return elems; } }, firstTds = [], rows = list.getElementsByTagName(rowTag || 'tr'), delBtns = byClass((delTag || 'a'), (delClass || 'lnk-del'), list), i = 0, len = rows.length, reorder = function(idx){ var i = idx, len = firstTds.length; if(idx!==(len-1)){ for(;i<len;i+=1){ firstTds[i].innerHTML = i; } } }; for (; i < len; i += 1) { firstTds.push(rows[i].getElementsByTagName(idTag || 'td')[0]); delBtns[i].onclick = function(idx){ return function(event){ var evt = event || window.event; list.removeChild(rows[idx]); reorder(idx); delAndReorder(); stopEvent(evt); }; }(i); } } delAndReorder(); </script> </body> </html>
希望本文所述對大家的javascript程序設(shè)計(jì)有所幫助。
- JavaScript 存在陷阱 刪除某一區(qū)域所有節(jié)點(diǎn)
- 初學(xué)js 新節(jié)點(diǎn)的創(chuàng)建 刪除 的步驟
- JS動態(tài)增加刪除UL節(jié)點(diǎn)LI及相關(guān)內(nèi)容示例
- javascript刪除一個html元素節(jié)點(diǎn)的方法
- 刪除javascript所創(chuàng)建子節(jié)點(diǎn)的方法
- javascript刪除元素節(jié)點(diǎn)removeChild()用法實(shí)例
- JavaScript中對DOM節(jié)點(diǎn)的訪問、創(chuàng)建、修改、刪除
- Javascript removeChild()刪除節(jié)點(diǎn)及刪除子節(jié)點(diǎn)的方法
- Javascript刪除指定元素節(jié)點(diǎn)的方法
相關(guān)文章
js+canvas實(shí)現(xiàn)驗(yàn)證碼功能
這篇文章主要為大家詳細(xì)介紹了js+canvas實(shí)現(xiàn)驗(yàn)證碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07js實(shí)現(xiàn)網(wǎng)頁定位導(dǎo)航功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)網(wǎng)頁定位導(dǎo)航功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03html+js實(shí)現(xiàn)簡單的計(jì)算器代碼(加減乘除)
下面小編就為大家?guī)硪黄猦tml+js實(shí)現(xiàn)簡單的計(jì)算器代碼(加減乘除)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07js 獲取當(dāng)前web應(yīng)用的上下文路徑實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨s 獲取當(dāng)前web應(yīng)用的上下文路徑實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08