为了账号安全,请及时绑定邮箱和手机立即绑定

关于删除节点。

关于删除节点。

朝花bu夕拾 2016-08-27 15:53:17
<!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>奇怪,为什么不能一次性删除呢?
查看完整描述

1 回答

已采纳
?
雨中的鱼L

TA贡献14条经验 获得超13个赞

要这样写才行,因为获取子节点,也获取了文本节点,和注释节点,要过滤
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;
            }

查看完整回答
反对 回复 2016-08-27
  • 1 回答
  • 0 关注
  • 1397 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信