为什么有时候要按两次才删除

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

慕仰2457049

2021-07-01 17:16

<!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 a=document.getElementsByTagName("h1")

  for(i=0;i<a.length;i++)

  {

      var a=content.childNodes[i];

      content.removeChild(a);

  }

  

}

</script>


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




</body>

</html>


写回答 关注

2回答

  • weixin_慕桂英7428871
    2021-12-23 16:16:29

    可能是获取的childNode[i]是空格,根据前面几个part的说法是IE忽略空格,而像chrome,火狐等是不忽略的。

  • Johnson
    2021-07-07 23:07:25

    知道这个之前,你应该先需要知道childNodes获得节点是什么,你这个只要把childNodes改成children即可解决,至于为什么您需要先了解childNodes和children两者的区别

    Johnso...

    还有一个问题就是,您的HTML结构本身也存在不合理的情况,一个文档中h1标题是只可以出现一次的

    2021-07-07 23:10:09

    共 1 条回复 >

JavaScript进阶篇

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

468191 学习 · 21891 问题

查看课程

相似问题