当前位置:首页 > 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() 方法,可以同时添加多个节点和字符串

浏览器兼容性解决方案

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

js 实现jquery 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功能。

标签: jsjquery
分享给朋友:

相关文章

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

jquery插件

jquery插件

jQuery 插件开发指南 jQuery 插件是一种扩展 jQuery 功能的模块化方式,允许开发者封装可重用的代码。以下是开发和使用 jQuery 插件的基本方法。 插件基本结构 jQuery 插…

jquery怎么读

jquery怎么读

jQuery的正确发音 jQuery的发音为 "jay-query"(/ˈdʒeɪkwɪəri/)。其中: "jay" 发音类似字母 "J" 的英文读法。 "query" 发音与英文单词 "quer…

jquery 元素

jquery 元素

jQuery 元素选择与操作 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。以下是 jQuery 中常用的元素选择与操作方法…

加载jquery

加载jquery

加载 jQuery 的方法 通过 CDN 加载 推荐使用官方或公共 CDN(内容分发网络)加载 jQuery,速度快且稳定。将以下代码添加到 HTML 文件的 <head> 或 <b…

html jquery

html jquery

HTML 与 jQuery 基础 HTML 是超文本标记语言,用于构建网页的结构和内容。jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Aja…