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

关于removeChild的问题!

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

for(var i=0;i<conCh.length;i++)

{

conCh.removeChild(conCh[i]);

}

}


</script>

<input type="button" value="清楚内容" onclick="clearText()" />

</body>

麻烦大家给解答下,为什么我这个代码不好使,原因是什么,新手自学麻烦说的详细点不胜感谢!

正在回答

3 回答

来看这个方法的公式element.removeChild(child);

      从element(元素对象)删除里面的child(节点对象);

     这是你的:conCh.removeChild(conCh[i])

来看看你的conCh这是H1的元素集合,但是我们需要的是他的父级元素(父级元素里面包含有H1的元素集合,),也就是你这个要改为

conCh.parentNode也就是content;(你这个conCH就没必要了)

然后括号里面需要的是一个节点对象,但是你里面却是一个元素对象,所以需要把里面的转换为节点对象:content.childeNode[i](可以这么理解:父级元素里面的 第[i]个  子节点对象)

我是这么理解的,


2 回复 有任何疑惑可以回复我~

conCh[i]是指的h1的集合中第i个元素

conCh指的是h1组成的数组不是唯一且确定的!

conCh.removeChild(conCh[i]);一个数组中删除它的子节点肯定没法实现

content.removeChild(conCh[i]);这句代码可以实现,因为content是唯一的父元素div,可以删除它的某个h1节点。

0 回复 有任何疑惑可以回复我~

明白了 谢谢哈!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468061    人
  • 解答问题       21891    个

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

进入课程

关于removeChild的问题!

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