久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

html5中JavaScript removeChild 刪除所有節(jié)點_html5教程技

html5中JavaScript removeChild 刪除所有節(jié)點_html5教程技巧HTML5中文學(xué)習(xí)網(wǎng),是中國最大的HTML5中文門戶,為廣大HTML5愛好者提供各種HTML5資料,包括HTML5網(wǎng)站、HTML5資訊、HTML5應(yīng)用、HTML5游戲、HT
點評:通過JavaScript可以刪除所有節(jié)點,本文里主要討論 removeChild 函數(shù),大家可以看看下面的示例
假設(shè)div里有這么些內(nèi)容:

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

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GBK">
<title>iScroll demo: simple</title>
<script type="text/javascript">
function deleteData(){
}
</script>
<style type="text/css" media="all">
body,ul,li {
padding:0;
margin:0;
border:0;
}
body {
font-size:12px;
-webkit-user-select:none;
-webkit-text-size-adjust:none;
font-family:helvetica;
}
</style>
</head>
<body>
<div ><input type="submit" name="button" id="button" value="刪除li節(jié)點" class="button gray" onclick="deleteData()" /> </div>
<div >
<ul id="thelist">
<li>Pretty row 1</li>
<li>Pretty row 2</li>
<li>Pretty row 3</li>
<li>Pretty row 4</li>
<li>Pretty row 5</li>
<li>Pretty row 6</li>
<li>Pretty row 7</li>
<li>Pretty row 8</li>
<li>Pretty row 9</li>
<li>Pretty row 10</li>
<li>Pretty row 40</li>
</ul>
</div>
</body>
</html>

現(xiàn)在要通過JavaScript的功能,將它們清空。

雖然可以通過一句代碼直接實現(xiàn):

document.getElementById("content").innerHTML=""

但是本文里主要討論 removeChild 函數(shù)。

很想當(dāng)然地以為借助下面的代碼就能完成:

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

function deleteData(){
var el = document.getElementById('thelist');
var liNodes = document.getElementsByTagName("li");
alert(liNodes.length);
for(var i = 0; i < liNodes.length; i++){
alert("刪除"+i+" liNodes[i]="+ liNodes[i]);
el.removeChild(liNodes[i]);
//<-- el.removeChild(liNodes[i]);
}
}

沒想到,點擊了按鈕后,竟然只清除掉1、3、5...,而2、4、6....竟然沒有消失,

問題從一開始就產(chǎn)生了:

刪除掉第一個節(jié)點后,后面節(jié)點的順序全部發(fā)生了變化:原來的第二個節(jié)點往前蹭,成為新的第一個節(jié)點;原來的第三個節(jié)點,成為第二個節(jié)點……

于是呢,接下來原本是要刪除第二個節(jié)點的,卻將最原始的第三個節(jié)點給刪除掉了。

最終,并沒有全部刪除,只刪除掉1、3、5,留下了2、4、6。

語法沒有錯誤,但是得不到所要的結(jié)果,這就是算法上面的錯誤!該如何修正呢?

“順序刪除”不行,那就“逆序刪除”吧。將 for 語句修改一下:

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

function deleteData(){
var el = document.getElementById('thelist');
var liNodes = document.getElementsByTagName("li");
alert(liNodes.length);
for(var i = liNodes.length-1; i >=0; i--){
alert("刪除"+i+" liNodes[i]="+ liNodes[i]);
el.removeChild(liNodes[i]);
//<-- el.removeChild(liNodes[i]);
}
}

試試吧,成功了!還可以使用下面方法:

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

function deleteData() {
var el = document.getElementById('thelist');
var liNodes = document.getElementsByTagName("li");
alert(liNodes.length);
for (var i=0;i<el.childNodes.length;i++){
var childNode = el.childNodes[0]; //總是刪除第一個,是不是更簡單
el.removeChild(childNode);
}
}

完成代碼如下所示:

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

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GBK">
<title>iScroll demo: simple</title>
<script type="text/javascript">
function initData(){
var el = document.getElementById('thelist');
var liNodes = document.getElementsByTagName("li");
alert(liNodes.length);
for(var i = liNodes.length-1; i >=0; i--){
alert("刪除"+i+" liNodes[i]="+ liNodes[i]);
el.removeChild(liNodes[i]);
//<-- el.removeChild(liNodes[i]);
}
}
</script>
<style type="text/css" media="all">
body,ul,li {
padding:0;
margin:0;
border:0;
}
body {
font-size:12px;
-webkit-user-select:none;
-webkit-text-size-adjust:none;
font-family:helvetica;
}
</style>
</head>
<body>
<div ><input type="submit" name="button" id="button" value="刪除li節(jié)點" class="button gray" onclick="initData()" /> </div>
<div >
<ul id="thelist">
<li>Pretty row 1</li>
<li>Pretty row 2</li>
<li>Pretty row 3</li>
<li>Pretty row 4</li>
<li>Pretty row 5</li>
<li>Pretty row 6</li>
<li>Pretty row 7</li>
<li>Pretty row 8</li>
<li>Pretty row 9</li>
<li>Pretty row 10</li>
<li>Pretty row 40</li>
</ul>
</div>
</body>
</html>

【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

主站蜘蛛池模板: 精品一区二区三区在线视频 | 自拍偷拍中文字幕 | 91深夜福利视频 | 国产成人jvid在线播放 | 日韩一二三 | 日韩国产高清在线观看 | 亚洲一区国产精品 | 婷婷久久久久 | 97热在线 | 最新一级毛片 | 自拍视频网| 久久与欧美 | 91在线视频在线观看 | 99成人免费视频 | 9porny九色视频自拍 | 精品国产91乱码一区二区三区 | 亚洲毛片在线观看 | 欧美在线播放一区 | 精品综合| 成人午夜激情 | av在线成人 | 黄网站免费入口 | 在线婷婷| 一区二区三区回区在观看免费视频 | wwww.8888久久爱站网 | 久久一级 | 狠狠涩 | 一级黄色夫妻生活 | 亚洲精品久久久久中文字幕二区 | 精品久久精品 | 久久99精品国产 | 精品亚洲一区二区三区四区五区 | 91精品久久久久久久久久小网站 | 亚洲高清电影 | 久久免费精品 | 日韩国产中文字幕 | 欧美激情视频一区二区三区在线播放 | 日韩国产精品一区二区三区 | 一区二区中文 | 日韩在线一区二区三区 | 亚洲精品一区二区三区中文字幕 |