您好,欢迎访问一九零五行业门户网

实例讲解JavaScript实现节点的删除与序号重建

本文实例讲述了javascript实现节点的删除与序号重建。分享给大家供大家参考。具体如下:
这里演示javascript节点的删除与重建方法,删除节点后,会自动重新建立节点,序号自动排列,比如删除当前的第3条数据后,第4条的序号会智能变为3,以此类推,保证序号不乱。
运行效果如下图所示:
删除前:
删除后:
具体代码如下:
<!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>节点重建、示例代码</title> <style type="text/css"> html{color:#000;background:#fff;font-family:arial, helvetica, sans-serif;} body,p,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>标题</th> <th width="50">操作</th> </tr> </thead> <tbody id="reroder-list"> <tr> <td>1</td> <td class="left"><a href="http://www.jb51.net/article/70631.htm">js+css实现表格高亮的方法</a></td> <td><a href="#del" class="lnk-del">删除</a></td> </tr> <tr> <td>2</td> <td class="left"><a href="http://www.jb51.net/article/70625.htm">javascript节点及列表操作实例小结</a></td> <td><a href="#del" class="lnk-del">删除</a></td> </tr> <tr> <td>3</td> <td class="left"> <a href="http://www.jb51.net/article/70613.htm">javascript实现删除,移动和复制文件的方法</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实现节点的删除与序号重建的详细内容。
其它类似信息

推荐信息