js 实现before
在 JavaScript 中实现 before 方法
在 JavaScript 中,可以通过扩展 Element.prototype 来实现一个类似于 jQuery 的 before 方法。这个方法允许在指定元素之前插入新的内容。

Element.prototype.before = function(newNode) {
this.parentNode.insertBefore(newNode, this);
};
使用示例
假设有一个 HTML 结构如下:

<div id="container">
<p id="target">目标元素</p>
</div>
使用自定义的 before 方法在 #target 元素前插入一个新元素:
const target = document.getElementById('target');
const newNode = document.createElement('span');
newNode.textContent = '新插入的元素';
target.before(newNode);
兼容性考虑
如果需要支持多个节点插入,可以修改方法如下:
Element.prototype.before = function(...nodes) {
nodes.forEach(node => {
this.parentNode.insertBefore(node, this);
});
};
注意事项
- 修改原生原型可能会影响其他代码,尤其是在大型项目中。
- 如果需要更安全的方式,可以封装为独立的函数而不是扩展原型。
function before(targetNode, newNode) {
targetNode.parentNode.insertBefore(newNode, targetNode);
}






