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

来源:9-14 删除节点removeChild()

慕数据9493197

2016-09-13 19:14

<!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>

写回答 关注

2回答

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

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

    表示为的节点属性为nodeType。

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

    慕数据949...

    非常感谢!谢谢大神的解答

    2016-09-14 16:51:33

    共 2 条回复 >

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

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

    慕数据949...

    嗯嗯 谢谢你 现在懂了

    2016-09-14 16:50:29

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题