為什么要刪3次才能全部刪除掉?
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標題文檔</title>
</head>
<body>
<div id="content">
? <h1>ht5ml</h1>
? <h1>p5hp</h1>
? <h1>ja5vascript</h1>
? <h1>jqu5ery</h1>
? <h1>jav5a</h1>
</div>
<script type="text/javascript">
function clearText() {
? var content=document.getElementById("content");
? // 在此完成該函數
? var head=document.getElementsByTagName("h1");
? alert(head.length);
? for(var i=0;i<5;i++)
? {
? ? ? alert(i);
? ? ? content.removeChild(head[i]);
? }?
}
</script>
<button onclick="clearText()">清除節點內容</button>
</body>
</html>
2016-02-19
問題在于你每remove一次,head里的元素就被去掉一個,然后后面的元素就相當于前移了一位
例如,你刪掉第一個元素ht5ml之后,第二個元素p5hp就變成了第一個元素,但是你接下來是刪除第二個元素,現在第二個元素已經是ja5vascript了,因此p5hp就沒有被刪掉,往后以此類推
要解決這個問題,在remove之后加一句 i--