代碼如下,為什么這樣寫,清除節點時,button也會被刪除??
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標題文檔</title>
</head>
<body>
<div id="content">
? <h1>html</h1>
? <h1>php</h1>
? <h1>javascript</h1>
? <h1>jquery</h1>
? <h1>java</h1>
</div>
<script type="text/javascript">
function clearText() {
? var content=document.getElementById("content");
? // 在此完成該函數
? var myh1 = content.childNodes;
? for(i=0;i<myh1.length;i++){
????? var a = content.removeChild(myh1[i]);
? }
? document.write("所有節點已刪除");
}
</script>
<button onclick="clearText()">清除節點內容</button>
</body>
</html>
2018-03-23
document.write()在function clearText()內,頁面加載時沒有運行。當function clearText()動作啟用時,代碼document.write()會代替頁面內所有東西。 ?解決辦法就是寫在動作外,頁面加載時候就運行則不會覆蓋。
2018-03-22
這個也困擾我也……
2018-03-22
遇到文本節點就不能刪除若需要一次全部刪除改成如下:? ?這句有問題,將其中的文本節點改成空白節點
2018-03-22
將上邊的document.write("所有節點已刪除");這句注釋掉就好了,至于原因,愚也沒搞懂……即使注釋掉這句也不能一次將所有刪除掉(IE瀏覽器是可以的,IE瀏覽器不會識別空白節點),遇到文本節點就不能刪除若需要一次全部刪除改成如下: