站长资源网页制作

html5中JavaScript removeChild 删除所有节点

整理:jimmy2025/1/9浏览2
简介假设div里有这么些内容: 复制代码代码如下: iScroll demo: simple</ti</div> <div class="news_infos"><div id="MyContent">假设div里有这么些内容: <br><br><u>复制代码</u>代码如下: <br><!DOCTYPE html> <br><html> <br><head> <br><meta http-equiv="Content-Type" content="text/html;charset=GBK"> <br><title>iScroll demo: simple</title> <br><script type="text/javascript"> <br>function deleteData(){ <br>} <br></script> <br><style type="text/css" media="all"> <br>body,ul,li { <br>padding:0; <br>margin:0; <br>border:0; <br>} <br>body { <br>font-size:12px; <br>-webkit-user-select:none; <br>-webkit-text-size-adjust:none; <br>font-family:helvetica; <br>} <br></style> <br></head> <br><body> <br><div ><input type="submit" name="button" id="button" value="删除li节点" class="button gray" onclick="deleteData()" /> </div> <br><div > <br><ul id="thelist"> <br><li>Pretty row 1</li> <br><li>Pretty row 2</li> <br><li>Pretty row 3</li> <br><li>Pretty row 4</li> <br><li>Pretty row 5</li> <br><li>Pretty row 6</li> <br><li>Pretty row 7</li> <br><li>Pretty row 8</li> <br><li>Pretty row 9</li> <br><li>Pretty row 10</li> <br><li>Pretty row 40</li> <br></ul> <br></div> <br></body> <br></html> <br><br>现在要通过JavaScript的功能,将它们清空。 <br><br>虽然可以通过一句代码直接实现: <br><br>document.getElementById("content").innerHTML="" <br><br>但是本文里主要讨论 removeChild 函数。 <br><br>很想当然地以为借助下面的代码就能完成: <br><br><u>复制代码</u>代码如下: <br>function deleteData(){ <br>var el = document.getElementById('thelist'); <br>var liNodes = document.getElementsByTagName("li"); <br>alert(liNodes.length); <br>for(var i = 0; i < liNodes.length; i++){ <br>alert("删除"+i+" liNodes[i]="+ liNodes[i]); <br>el.removeChild(liNodes[i]); <br>//<-- el.removeChild(liNodes[i]); <br>} <br>} <br><br>没想到,点击了按钮后,竟然只清除掉1、3、5...,而2、4、6....竟然没有消失, <br><br>问题从一开始就产生了: <br><br>删除掉第一个节点后,后面节点的顺序全部发生了变化:原来的第二个节点往前蹭,成为新的第一个节点;原来的第三个节点,成为第二个节点…… <br><br>于是呢,接下来原本是要删除第二个节点的,却将最原始的第三个节点给删除掉了。 <br><br>最终,并没有全部删除,只删除掉1、3、5,留下了2、4、6。 <br><br>语法没有错误,但是得不到所要的结果,这就是算法上面的错误!该如何修正呢? <br><br>“顺序删除”不行,那就“逆序删除”吧。将 for 语句修改一下: <br><br><u>复制代码</u>代码如下: <br>function deleteData(){ <br>var el = document.getElementById('thelist'); <br>var liNodes = document.getElementsByTagName("li"); <br>alert(liNodes.length); <br>for(var i = liNodes.length-1; i >=0; i--){ <br>alert("删除"+i+" liNodes[i]="+ liNodes[i]); <br>el.removeChild(liNodes[i]); <br>//<-- el.removeChild(liNodes[i]); <br>} <br>} <br><br>试试吧,成功了!还可以使用下面方法: <br><br><u>复制代码</u>代码如下: <br>function deleteData() { <br>var el = document.getElementById('thelist'); <br>var liNodes = document.getElementsByTagName("li"); <br>alert(liNodes.length); <br>for (var i=0;i<el.childNodes.length;i++){ <br>var childNode = el.childNodes[0]; //总是删除第一个,是不是更简单 <br>el.removeChild(childNode); <br>} <br>} <br><br>完成代码如下所示: <br><br><u>复制代码</u>代码如下: <br><!DOCTYPE html> <br><html> <br><head> <br><meta http-equiv="Content-Type" content="text/html;charset=GBK"> <br><title>iScroll demo: simple</title> <br><script type="text/javascript"> <br>function initData(){ <br>var el = document.getElementById('thelist'); <br>var liNodes = document.getElementsByTagName("li"); <br>alert(liNodes.length); <br>for(var i = liNodes.length-1; i >=0; i--){ <br>alert("删除"+i+" liNodes[i]="+ liNodes[i]); <br>el.removeChild(liNodes[i]); <br>//<-- el.removeChild(liNodes[i]); <br>} <br>} <br></script> <br><style type="text/css" media="all"> <br>body,ul,li { <br>padding:0; <br>margin:0; <br>border:0; <br>} <br>body { <br>font-size:12px; <br>-webkit-user-select:none; <br>-webkit-text-size-adjust:none; <br>font-family:helvetica; <br>} <br></style> <br></head> <br><body> <br><div ><input type="submit" name="button" id="button" value="删除li节点" class="button gray" onclick="initData()" /> </div> <br><div > <br><ul id="thelist"> <br><li>Pretty row 1</li> <br><li>Pretty row 2</li> <br><li>Pretty row 3</li> <br><li>Pretty row 4</li> <br><li>Pretty row 5</li> <br><li>Pretty row 6</li> <br><li>Pretty row 7</li> <br><li>Pretty row 8</li> <br><li>Pretty row 9</li> <br><li>Pretty row 10</li> <br><li>Pretty row 40</li> <br></ul> <br></div> <br></body> <br></html> <br></div> </div> </div> <div class="share"> </div> <div class="nextinfo"> <p>上一篇:<a href="/3g/1/69457.html" title="html5设计原理(推荐收藏)">html5设计原理(推荐收藏)</a></p> <p>下一篇:<a href="/3g/1/69459.html" title="使用jTopo给Html5 Canva中绘制的元素添加鼠标事件">使用jTopo给Html5 Canva中绘制的元素添加鼠标事件</a></p> </div> <div class="otherlink"> <h2>最新资源</h2> <ul> <li><a href="/3g/1/623703.html" title="群星《奔赴!万人现场 第2期》[FLAC/分轨]">群星《奔赴!万人现场 第2期》[FLAC/分轨]</a></li> <li><a href="/3g/1/623702.html" title="群星《奇妙浪一夏 (上海迪士尼度假区音乐">群星《奇妙浪一夏 (上海迪士尼度假区音乐</a></li> <li><a href="/3g/1/623701.html" title="群星《奇妙浪一夏 (上海迪士尼度假区音乐">群星《奇妙浪一夏 (上海迪士尼度假区音乐</a></li> <li><a href="/3g/1/623700.html" title="【古典音乐】詹姆斯·高威《季节》1993[WA">【古典音乐】詹姆斯·高威《季节》1993[WA</a></li> <li><a href="/3g/1/623699.html" title="贝拉芳蒂《卡里普索之王》SACD[WAV+CUE]">贝拉芳蒂《卡里普索之王》SACD[WAV+CUE]</a></li> <li><a href="/3g/1/623698.html" title="小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE">小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE</a></li> <li><a href="/3g/1/623697.html" title="群星《欢迎来到我身边 电影原声专辑》[32">群星《欢迎来到我身边 电影原声专辑》[32</a></li> <li><a href="/3g/1/623696.html" title="群星《欢迎来到我身边 电影原声专辑》[FL">群星《欢迎来到我身边 电影原声专辑》[FL</a></li> <li><a href="/3g/1/623695.html" title="雷婷《梦里蓝天HQⅡ》 2023头版限量编号低">雷婷《梦里蓝天HQⅡ》 2023头版限量编号低</a></li> <li><a href="/3g/1/623694.html" title="群星《2024好听新歌42》AI调整音效【WAV分">群星《2024好听新歌42》AI调整音效【WAV分</a></li> </ul> </div> </div> <div class="sidebar"> <div class="cloud"><h2 class="hometitle">一句话新闻</h2><a href="/3G/1/604673.html"><ul>高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布<br><br>高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。<br>在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。<br>预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。<br>谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。</ul></a></div> <div class="cloud"><h2 class="hometitle">标签云</h2><ul><a href="/search.asp?key=1080P高清&m=1">1080P高清<span>(5)</span></a><a href="/search.asp?key=高清电影&m=1">高清电影<span>(5)</span></a><a href="/search.asp?key=百度云盘&m=1">百度云盘<span>(5)</span></a><a href="/search.asp?key=网盘下载&m=1">网盘下载<span>(4)</span></a><a href="/search.asp?key=破解软件&m=1">破解软件<span>(4)</span></a><a href="/search.asp?key=绿色软件&m=1">绿色软件<span>(4)</span></a><a href="/search.asp?key=磁力链接&m=1">磁力链接<span>(3)</span></a><a href="/search.asp?key=强度天梯&m=1">强度天梯<span>(3)</span></a><a href="/search.asp?key=福利资源&m=1">福利资源<span>(2)</span></a><a href="/search.asp?key=王者荣耀&m=1">王者荣耀<span>(2)</span></a><a href="/search.asp?key=黑钻活动&m=1">黑钻活动<span>(2)</span></a><a href="/search.asp?key=WPS会员&m=1">WPS会员<span>(2)</span></a><a href="/search.asp?key=刷图排行&m=1">刷图排行<span>(1)</span></a><a href="/search.asp?key=网盘限速&m=1">网盘限速<span>(1)</span></a><a href="/search.asp?key=鬼灭之刃&m=1">鬼灭之刃<span>(1)</span></a><a href="/search.asp?key=免费韩国漫画&m=1">免费韩国漫画<span>(1)</span></a><a href="/search.asp?key=宫本重做&m=1">宫本重做<span>(1)</span></a><a href="/search.asp?key=免费动漫&m=1">免费动漫<span>(1)</span></a></ul></div> </div> <div class="sidebar"> 友情链接:<a href="http://www.imxmx.com/" title="杰晶网络" target="_blank">杰晶网络</a> <a href="/" title="DDR爱好者之家" target="_blank">DDR爱好者之家</a> <a href="http://www.nqxw.com/" title="南强小屋" target="_blank">南强小屋</a> <a href="http://www.paidiu.com/" title="黑松山资源网" target="_blank">黑松山资源网</a> <a href="http://www.dyhadc.com/" title="白云城资源网" target="_blank">白云城资源网</a> <a href="/sitemap1.xml">站点地图</a> <a href="/sitemap.xml">SiteMap</a> </div> </article> <footer> <p>Design by <a href="http://m.ddrfans.com">DDR爱好者之家</a> <a href="http://m.ddrfans.com">http://m.ddrfans.com</a></p> </footer> <script src="/images3g/nav.js"></script> <script type="text/javascript"> jQuery.noConflict(); jQuery(function() { var elm = jQuery('#left_flow2'); var startPos = jQuery(elm).offset().top; jQuery.event.add(window, "scroll", function() { var p = jQuery(window).scrollTop(); jQuery(elm).css('position', ((p) > startPos) ? 'fixed' : ''); jQuery(elm).css('top', ((p) > startPos) ? '0' : ''); }); }); </script> </body> </html>