javascript - 如何删除div中的最后3个div

标签 javascript

使用原生 javascript 删除 div 中的最后 3 个 div

它首先应该是这样的:

<div id="name">
      <div>one</div>
      <div>two</div>
      <div>three</div>
      <div>four</div>
      <div>five</div>
</div>

删除后:

<div id="name">
      <div>one</div>
      <div>two</div>
</div>

我尝试通过为它们分配单独的 ID 名称来删除它,但由于它不断变化和改组,因此无法跟踪变化。

最佳答案

最后三个可以在节点列表(转数组时)用.slice(-3)来识别:

const parent = document.querySelector("#name");
[...parent.children].slice(-3).forEach(parent.removeChild.bind(parent));
<div id="name">
      <div>one</div>
      <div>two</div>
      <div>three</div>
      <div>four</div>
      <div>five</div>
</div>

关于javascript - 如何删除div中的最后3个div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54845058/

相关文章:

javascript - jQuery 1.7.1 - 文本输入的 'value' 未在 Firebug Inspect 元素中更新但在屏幕上

JavaScript - 替换字符串中的方括号

javascript - 允许在移动设备上滚动的 Durandal 模式/对话框上下文

javascript - 为什么我不能使用 slice 或 lodash remove 从这个数组中删除项目?

javascript - 如何检测 mouseenter 或 mouseleave

javascript - 如何区分数据对象并对相同的值求和

php - 检测 Firefox 插件吗?

javascript - d3.js:无法读取未定义的属性 'call'

javascript - 方法上的映射类型

javascript - jQuery文件上传插件错误