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

我这样写第二个h1元素第一次执行删不掉,是为什么

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


正在回答

1 回答

这边控制台上报错“Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'”,然后单独打印nodeType时,php的h1显示为3也就是#text类型。

个人建议使用while循环

while (content.childNodes.length > 0) {

        content.removeChild(content.firstChild);

}

只要有子节点,就删除第一个子节点

3 回复 有任何疑惑可以回复我~
#1

fortunate蚂蚁 提问者

多谢解答
2018-12-06 回复 有任何疑惑可以回复我~
#2

fortunate蚂蚁 提问者

老哥的方法很好。不过我发现在<p>php</p>前加一个换行符就可以一次删完,不知道为什么
2018-12-06 回复 有任何疑惑可以回复我~
#3

库米花 回复 fortunate蚂蚁 提问者

好像就是不加换行符就被算到之前的里面了,变成了一个text类型……
2018-12-06 回复 有任何疑惑可以回复我~
#4

嬲好

这个方法不论有无空白节点都可以
2019-01-16 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

我这样写第二个h1元素第一次执行删不掉,是为什么

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信