当前位置:首页 > JavaScript

js 实现增加删除

2026-04-04 13:47:55JavaScript

使用 JavaScript 实现元素的增加与删除

增加元素

通过 createElement 方法创建新元素,并使用 appendChildinsertBefore 将其添加到 DOM 中。

// 创建新元素
const newElement = document.createElement('div');
newElement.textContent = '新添加的元素';

// 添加到父元素的末尾
document.getElementById('parent').appendChild(newElement);

// 插入到特定元素之前
const referenceElement = document.getElementById('reference');
document.getElementById('parent').insertBefore(newElement, referenceElement);

删除元素

使用 removeChildremove 方法从 DOM 中移除元素。

// 通过父元素删除子元素
const parent = document.getElementById('parent');
const childToRemove = document.getElementById('child');
parent.removeChild(childToRemove);

// 直接删除元素(现代浏览器支持)
const elementToRemove = document.getElementById('element');
elementToRemove.remove();

动态列表的增删示例

以下是一个完整的动态列表增删实现示例:

<ul id="list">
  <li>项目1</li>
  <li>项目2</li>
</ul>
<input type="text" id="newItem" placeholder="输入新项目">
<button onclick="addItem()">添加</button>

<script>
function addItem() {
  const input = document.getElementById('newItem');
  const text = input.value.trim();
  if (text) {
    const list = document.getElementById('list');
    const newItem = document.createElement('li');
    newItem.textContent = text;
    newItem.onclick = function() {
      this.remove();
    };
    list.appendChild(newItem);
    input.value = '';
  }
}

// 为现有列表项添加点击删除功能
document.querySelectorAll('#list li').forEach(item => {
  item.onclick = function() {
    this.remove();
  };
});
</script>

使用事件委托优化性能

对于大量动态元素,使用事件委托可以提高性能:

document.getElementById('list').addEventListener('click', function(e) {
  if (e.target.tagName === 'LI') {
    e.target.remove();
  }
});

注意事项

  • 确保在操作 DOM 前元素已加载完成,可将脚本放在页面底部或使用 DOMContentLoaded 事件
  • 删除元素前应考虑是否需要保存数据或触发其他操作
  • 动态添加的元素如需事件监听,推荐使用事件委托而非逐个绑定

框架中的实现(Vue 示例)

new Vue({
  el: '#app',
  data: {
    items: ['项目1', '项目2'],
    newItem: ''
  },
  methods: {
    addItem() {
      if (this.newItem.trim()) {
        this.items.push(this.newItem);
        this.newItem = '';
      }
    },
    removeItem(index) {
      this.items.splice(index, 1);
    }
  }
});

对应的 HTML 结构:

js 实现增加删除

<div id="app">
  <ul>
    <li v-for="(item, index) in items" @click="removeItem(index)">
      {{ item }}
    </li>
  </ul>
  <input v-model="newItem" placeholder="输入新项目">
  <button @click="addItem">添加</button>
</div>

标签: js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…