JS中如何删除某个元素下的所有子元素(节点)?

JS中如何删除某个父元素下的所有子元素?这里我介绍几种方法:
1.通过元素的 innerHTML 属性来删除

这种方式我觉得是最有方便的,直接找到你想要的父元素,直接令其 element.innerHTML = “”;

举例说明:

<input type="button" value="按钮" id="btn">
<div id="dv">
  <p>1</p>
  <p>2</p>
  <p>3</p>
</div>
<script>
  document.getElementById("btn").onclick = function () {
    document.getElementById("dv").innerHTML = "";
  }
</script>

2.通过 removeChild() 方法来删除

removeChild() 的用法是先找到父级元素parent,然后调用 parent.removeChild(thisNode) 来删除当前子节点(thisNode),那我们只要循环遍历删除所有的即可。

举例说明:

<input type="button" value="按钮" id="btn">
<div id="dv">
  <p>1</p>
  <p>2</p>
  <p>3</p>
</div>
<script>
  document.getElementById("btn").onclick = function () {
    // 获取 div 标签
    var div = document.getElementById("dv");
    // 获取 div 标签下的所有子节点
    var pObjs = div.childNodes;
    for (var i = pObjs.length - 1; i >= 0; i--) { // 一定要倒序,正序是删不干净的,可自行尝试
      div.removeChild(pObjs[i]);
    }
  }
</script>

注意:循环遍历的时候一定要倒序,因为正序的时候,当你把索引为0的子节点删除后,那么原来索引为1的就变成了0,而这时变量 i 已经变成1了,程序继续走时就会删除原先索引为2的现在为1的节点,结果就是最后只删除了一半的节点,朋友们可自行尝试理解一下。

3.通过 jQuery 中 empty() 方法来删除

语法:

$(selector).empty()

举例说明:

<input type="button" value="按钮" id="btn">
<div id="dv">
  <p>1</p>
  <p>2</p>
  <p>3</p>
</div>
<script src="jquery-3.4.1.js"></script>
<script>
  $("#btn").click(function () {
    $("#dv").empty();
  })
</script>
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 可以使用以下代码根据id删除个元素节点: ```js var element = document.getElementById("element-id"); element.parentNode.removeChild(element); ``` 其,`document.getElementById("element-id")`获取到需要删除的元素节点,然后使用`parentNode.removeChild(element)`方法将其从父节点移除。 ### 回答2: 在JavaScript,可以使用getElementById()方法来根据id获取指定的元素节点。然后,通过remove()方法来删除节点。 下面是一个简单的示例代码: ```javascript // 获取指定id的元素节点 var element = document.getElementById("myElement"); // 删除元素节点 element.remove(); ``` 在这个示例,首先使用getElementById("myElement")方法来获取id为"myElement"的元素节点,并将其赋值给变量element。然后,通过调用element的remove()方法来删除节点。 注意:在一些较旧的浏览器,可能不支持remove()方法。如果需要在旧浏览器兼容,可以使用parentNode.removeChild(element)来代替remove()方法: ```javascript // 获取指定id的元素节点 var element = document.getElementById("myElement"); // 删除元素节点(兼容旧浏览器) element.parentNode.removeChild(element); ``` 以上就是使用JavaScript根据id删除个元素节点的方法。 ### 回答3: 在JavaScript,可以使用以下代码根据id删除个元素节点: ```javascript var element = document.getElementById("exampleId"); element.parentNode.removeChild(element); ``` 首先,使用`document.getElementById()`方法来获取具有指定id的元素节点,并将其赋值给一个变量(这里假设id为"exampleId")。 然后,通过访问元素节点的`parentNode`属性,可以找到其父节点。在这个例子,我们可以通过`element.parentNode`获取到元素节点的父节点。 最后,使用父节点的`removeChild()`方法,并传入要删除子节点(即元素节点),即可将其从文档移除。 需要注意的是,以上代码只适用于使用id来选取元素节点。如果要删除节点没有id属性或你想使用其他方式来选择节点,请使用其他方法来获取需要删除节点
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值