当前位置:首页 > JavaScript

js 实现 prepend

2026-03-13 23:54:53JavaScript

实现 prepend 方法

在 JavaScript 中,prepend 方法用于在父元素的第一个子节点之前插入一个或多个节点或字符串。以下是几种实现方式:

使用原生 DOM API

现代浏览器原生支持 prepend 方法,可以直接调用:

js 实现 prepend

const parent = document.getElementById('parent');
const newElement = document.createElement('div');
newElement.textContent = 'Prepended content';
parent.prepend(newElement);

兼容旧版浏览器的实现

对于不支持 prepend 的旧浏览器,可以使用 insertBefore 方法:

const parent = document.getElementById('parent');
const newElement = document.createElement('div');
newElement.textContent = 'Prepended content';
parent.insertBefore(newElement, parent.firstChild);

插入多个元素或字符串

prepend 支持插入多个参数,包括字符串和元素:

js 实现 prepend

const parent = document.getElementById('parent');
const newElement1 = document.createElement('div');
newElement1.textContent = 'First element';
const newElement2 = document.createElement('span');
newElement2.textContent = 'Second element';
parent.prepend(newElement1, newElement2, 'Text content');

使用 jQuery

如果项目中已引入 jQuery,可以使用其提供的 prepend 方法:

$('#parent').prepend('<div>Prepended content</div>');

自定义 prepend 函数

可以封装一个通用的 prepend 函数,兼容各种场景:

function prepend(parent, ...nodes) {
  nodes.forEach(node => {
    if (typeof node === 'string') {
      parent.insertAdjacentHTML('afterbegin', node);
    } else {
      parent.insertBefore(node, parent.firstChild);
    }
  });
}

const parent = document.getElementById('parent');
const newElement = document.createElement('div');
newElement.textContent = 'Prepended content';
prepend(parent, newElement, 'Text content');

注意事项

  • 插入字符串时会被解析为 HTML,注意防范 XSS 攻击。
  • 如果父元素没有子节点,parent.firstChild 会是 nullinsertBefore 仍然可以正常工作。
  • 现代浏览器推荐使用原生 prepend 方法,性能更好。

标签: jsprepend
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…