当前位置:首页 > 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实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获取 jQ…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现论坛

js实现论坛

实现论坛的基本功能 使用JavaScript实现一个论坛需要结合前端和后端技术。前端可以使用React、Vue或Angular等框架,后端可以选择Node.js配合Express或Koa框架。数据库可…

js实现瀑布流

js实现瀑布流

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