当前位置:首页 > JavaScript

js 实现jquery append

2026-02-02 22:35:41JavaScript

使用原生 JavaScript 实现 jQuery 的 append 功能

在原生 JavaScript 中,可以通过 appendChildinsertAdjacentHTML 方法实现类似 jQuery append 的功能。以下是几种常见实现方式:

方法一:使用 appendChild

// 获取父元素
const parentElement = document.getElementById('parent');

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

// 添加到父元素末尾
parentElement.appendChild(newElement);

方法二:使用 insertAdjacentHTML

// 获取父元素
const parentElement = document.getElementById('parent');

// 在父元素内部末尾插入HTML
parentElement.insertAdjacentHTML('beforeend', '<div>新添加的内容</div>');

方法三:封装成函数

function append(selector, content) {
    const parent = document.querySelector(selector);
    if (typeof content === 'string') {
        parent.insertAdjacentHTML('beforeend', content);
    } else {
        parent.appendChild(content);
    }
}

// 使用示例
append('#parent', '<span>追加的内容</span>');

方法四:支持多个元素追加

function append(selector, content) {
    const parents = document.querySelectorAll(selector);
    parents.forEach(parent => {
        if (typeof content === 'string') {
            parent.insertAdjacentHTML('beforeend', content);
        } else if (content.nodeType) {
            parent.appendChild(content.cloneNode(true));
        }
    });
}

// 使用示例
append('.container', '<p>段落内容</p>');

注意事项

  • appendChild 方法会移动DOM中已存在的节点
  • insertAdjacentHTML 只能插入字符串格式的HTML
  • 要插入多个元素时,需要先创建文档片段或循环添加
  • 现代浏览器支持原生的 Element.append() 方法,可以同时添加多个节点和字符串

浏览器兼容性解决方案

对于需要支持旧版浏览器的情况:

function append(selector, content) {
    const parents = document.querySelectorAll(selector);
    parents.forEach(parent => {
        if (typeof content === 'string') {
            const temp = document.createElement('div');
            temp.innerHTML = content;
            while(temp.firstChild) {
                parent.appendChild(temp.firstChild);
            }
        } else {
            parent.appendChild(content.cloneNode(true));
        }
    });
}

这些方法提供了从简单到全面的原生JavaScript实现方案,可以替代jQuery的append功能。

js 实现jquery append

标签: jsjquery
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

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

vue实现js休眠

vue实现js休眠

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

js实现动画

js实现动画

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

jquery.js

jquery.js

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

jquery版本

jquery版本

jQuery 的版本历史及当前状态如下: 当前稳定版本 jQuery 的最新稳定版本是 3.6.4(发布于 2023 年 3 月),支持现代浏览器并修复了部分安全问题。 主要版本分支…

js防抖和节流实现

js防抖和节流实现

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