【问题标题】:How to use JQuery to Wrap a specific list of div children如何使用 JQuery 包装特定的 div 子列表
【发布时间】:2022-01-28 00:12:42
【问题描述】:

我正在谷歌优化中进行 AB 测试。我需要将 div 从 5 号包装到 10 号,但我无法做到:

<div class="container active" data-order="1">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<button>11</button>
<div>12</div>
</div>

我正在使用此代码来执行此操作,但它从 div 编号 1 开始包装,但我想从 div 编号 5 开始直到 10

$('.gsw_cf.step.active > div:lt(#)').wrapAll('<div class="wrapped 5to10"/>');

有人知道我应该添加什么吗?

谢谢

【问题讨论】:

    标签: javascript jquery google-optimize


    【解决方案1】:

    你可以使用jQuery的slice();

    $('.active > div').slice(5,10).wrapAll('<div class="wrapped 5to10"/>');
    

    $('.active &gt; div').slice(5,10).wrapAll('&lt;div class="wrapped 5to10"/&gt;');
    .wrapped{
    background:red;
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="container active" data-order="1">
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>
    <div>10</div>
    <button>11</button>
    <div>12</div>
    </div>

    【讨论】:

      【解决方案2】:

      我找到了一个适用于我使用此功能的解决方案:

      $('div[data-order="1"]').each(function(){
          $(this).children(".input_wrapper.text").wrapAll("<div class='wrapper' />");
      });
      

      我在http://jsfiddle.net/QWHYK/ 中找到了该解决方案 和Wrapping sets of elements from a list in DIVs using jQuery

      还有,How to wrap multiple divs中的另一种解决方案

      【讨论】:

      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 1970-01-01
      • 2010-11-28
      • 2013-12-21
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多