当前位置:首页 > JavaScript

js 实现append()

2026-01-31 16:17:36JavaScript

实现 append() 方法

在 JavaScript 中,可以通过多种方式实现类似 append() 的功能,用于向 DOM 元素添加子节点或内容。以下是几种常见方法:

使用 appendChild() 方法

appendChild() 是原生 DOM 方法,用于向指定父节点添加子节点:

const parent = document.getElementById('parent');
const child = document.createElement('div');
child.textContent = 'New child';
parent.appendChild(child);

使用 insertAdjacentHTML() 方法

insertAdjacentHTML() 可以在指定位置插入 HTML 字符串:

js 实现append()

const parent = document.getElementById('parent');
parent.insertAdjacentHTML('beforeend', '<div>New child</div>');

使用 innerHTML 属性

通过修改 innerHTML 可以添加 HTML 内容:

const parent = document.getElementById('parent');
parent.innerHTML += '<div>New child</div>';

使用现代 append() 方法

js 实现append()

现代浏览器支持 append() 方法,可以一次添加多个节点或字符串:

const parent = document.getElementById('parent');
const child1 = document.createElement('div');
child1.textContent = 'Child 1';
const child2 = 'Child 2 text';
parent.append(child1, child2);

自定义 append() 函数

如果需要创建一个自定义的 append() 函数来统一不同方法的调用方式:

function append(parent, ...children) {
  if (typeof parent.append === 'function') {
    parent.append(...children);
  } else {
    children.forEach(child => {
      if (typeof child === 'string') {
        parent.insertAdjacentHTML('beforeend', child);
      } else {
        parent.appendChild(child);
      }
    });
  }
}

性能考虑

当需要频繁操作 DOM 时,使用 DocumentFragment 可以提高性能:

const fragment = document.createDocumentFragment();
for (let i = 0; i < 100; i++) {
  const div = document.createElement('div');
  div.textContent = `Item ${i}`;
  fragment.appendChild(div);
}
document.getElementById('container').appendChild(fragment);

注意事项

直接使用 innerHTML 会替换元素内的所有内容,可能导致事件监听器丢失。对于动态内容,推荐使用 createElementappendChild 组合。

现代浏览器中,append() 方法支持同时添加多个节点和文本节点,是最高效的方式。对于需要支持旧浏览器的项目,可以使用 polyfill 或上述自定义函数。

标签: jsappend
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url,…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…