关于删除节点。

<!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 b=content.childNodes;  //获取子节点集合

 for(i=0;i<=b.length;i++){var a=content.removeChild(b[i])}

  alert(a.innerHTML);

  

}

</script>


<button onclick="clearText()">清除节点内容</button>




</body>

</html>

奇怪,为什么不能一次性删除呢?

朝花bu夕拾
浏览 1398回答 1
1回答

雨中的鱼L

要这样写才行,因为获取子节点,也获取了文本节点,和注释节点,要过滤function clearText() {                var content = document.getElementById("content");                var contents = getChildNodes(content);                for(var i = 0; i < contents.length; i++){                    if(contents[i].nodeType == 1){                        content.removeChild(contents[i]);                    }                                    }            }            function getChildNodes(ele) {                var childArr = ele.children || ele.childNodes,                    childArrTem = new Array(); //  临时数组,用来存储符合条件的节点                for(var i = 0, len = childArr.length; i < len; i++) {                    if(childArr[i].nodeType == 1) {                        childArrTem.push(childArr[i]); // push() 方法将节点添加到数组尾部                    }                }                return childArrTem;            }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript