问答

jquery如何实现给标签加一个父级标签?

作者:admin 2021-06-07 我要评论

div class="term" b面积/b a10/a a20/a a30/a a40/a a50/a b体积/b a10/a a20/a a30/a b容积/b a10/a a20/a a30/a a40/a/div 请问如何给上述代码中的a标签加一个...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
<div class="term">
    <b>面积</b>
    <a>10</a>
    <a>20</a>
    <a>30</a>
    <a>40</a>
    <a>50</a>
    <b>体积</b>
    <a>10</a>
    <a>20</a>
    <a>30</a>
    <b>容积</b>
    <a>10</a>
    <a>20</a>
    <a>30</a>
    <a>40</a>
</div>

请问如何给上述代码中的a标签加一个父级标签,使之成为下述代码

<div class="term">
    <b>面积</b>
    <div>
        <a>10</a>
        <a>20</a>
        <a>30</a>
        <a>40</a>
        <a>50</a>
    </div>
    <b>体积</b>
    <div>
        <a>10</a>
        <a>20</a>
        <a>30</a>
    </div>
    <b>容积</b>
    <div>
        <a>10</a>
        <a>20</a>
        <a>30</a>
        <a>40</a>
    </div>
</div>

image

###
$('.term b').each((i,item)=>{
   $(item).prevAll('a').wrapAll('<div></div>');
})
$('b').siblings('a').wrapAll('<div></div>')

//修正后代码
$('.term b').each((i,item)=>{
    $(item).nextUntil($('.term b').eq(i+1)).wrapAll('<div></div>');
})
###
// 选择所有 `b` 标签
// 借用数组的 reverse 方法将所选反序
// 然后遍历处理每个 `b` 标签
[].reverse.bind($('.term>b'))().each(function(index, item){
    var $this = $(item);
    
    // 选择当前元素后面的所有 `a` 标签
    var $afterB = $(item).nextAll('a');
    
    // 在当前元素后面插入一个 `div`,并将所选 `a` 标签添加至其中
    $this.after('div').append($afterB);
    
    // 移除既有 `a` 标签
    $afterB.remove();
});

步骤是这个步骤,能不能用就需要再调试调试了。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • jquery如何实现给标签加一个父级标签?

    jquery如何实现给标签加一个父级标签?

  • 8086 CPU的 CS寄存器为何会使用4个16进

    8086 CPU的 CS寄存器为何会使用4个16进

  • RedisDesktopManager连接不上远程redis

    RedisDesktopManager连接不上远程redis

  • java泛型T和?的疑惑?通俗解释下?

    java泛型T和?的疑惑?通俗解释下?

腾讯云代理商
海外云服务器