当前位置:首页 > JavaScript

js实现jquerywrap

2026-04-05 16:15:30JavaScript

使用原生 JavaScript 实现 jQuery 的 wrap 方法

jQuery 的 wrap 方法允许用户将匹配的元素包裹在指定的 HTML 结构中。以下是几种原生 JavaScript 的实现方式。

js实现jquerywrap

方法一:使用 DOM 操作

function wrap(element, wrapper) {
    const parent = element.parentNode;
    const wrappedElement = typeof wrapper === 'string' 
        ? document.createElement(wrapper) 
        : wrapper;
    parent.insertBefore(wrappedElement, element);
    wrappedElement.appendChild(element);
}

调用方式:

js实现jquerywrap

const element = document.querySelector('.target');
wrap(element, 'div'); // 包裹在 <div> 中

方法二:支持多元素和复杂结构

function wrapAll(elements, wrapper) {
    if (elements.length === 0) return;

    const firstElement = elements[0];
    const parent = firstElement.parentNode;
    const wrappedElement = typeof wrapper === 'string' 
        ? document.createElement(wrapper) 
        : wrapper.cloneNode(true);

    parent.insertBefore(wrappedElement, firstElement);

    Array.from(elements).forEach(el => {
        wrappedElement.appendChild(el);
    });
}

调用方式:

const elements = document.querySelectorAll('.target');
wrapAll(elements, '<div class="wrapper"></div>');

方法三:支持 HTML 字符串作为包裹结构

function wrapWithHTML(element, htmlString) {
    const parent = element.parentNode;
    const temp = document.createElement('div');
    temp.innerHTML = htmlString.trim();
    const wrapper = temp.firstChild;

    parent.insertBefore(wrapper, element);
    wrapper.appendChild(element);
}

调用方式:

const element = document.querySelector('.target');
wrapWithHTML(element, '<div class="wrapper"><div class="inner"></div></div>');

注意事项

  • 这些方法模拟了 jQuery 的基本 wrap 功能,但 jQuery 的实现更复杂,支持更多边界情况。
  • 对于动态生成的元素,确保 DOM 已加载完成再执行包裹操作。
  • 要完全复制 jQuery 的 wrap 功能,还需要处理更多特殊情况,如文档片段、函数参数等。

标签: jsjquerywrap
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

轮播图实现方法 基础HTML结构 <div class="slider"> <div class="slides"> <img src="image1.jpg…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <di…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js实现搜索

js实现搜索

实现搜索功能的方法 在JavaScript中实现搜索功能可以通过多种方式完成,以下是几种常见的实现方法。 使用数组的filter方法 通过数组的filter方法可以筛选出符合条件的数据项。假设有一个…