问答详情
源自:9-14 删除节点removeChild()

不懂这里是什么意思 if (content.childNodes[i].nodeType!=1){ continue; }

<!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");


       for (var i=0;i<content.childNodes.length;i++){
           if (content.childNodes[i].nodeType!=1){
               continue;
           }
           else {
               content.removeChild(content.childNodes[i]);
           }
       }


   }
</script>

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



</body>
</html>

提问者:慕数据9493197 2016-09-13 19:14

个回答

  • 慕尼黑1170528
    2016-09-13 19:43:06
    已采纳

    在DOM树里面 每一个节点都是有一个特殊的值进行标注的。

    表示为的节点属性为nodeType。

    其中只有nodeType值为1的时候才代表这是一个元素节点(ElementNode)。

  • 慕尼黑1170528
    2016-09-13 19:44:19

    在非IE浏览器中,任意一个空格,一个换行都会被认为一个节点,所以需要这种判断来过滤这种非元素的DOM节点