javascript - 按类名包装 List 元素

标签 javascript jquery html

我问过相关答案,但不是这样 问题:How to make new Div inside list items
我的问题是如何打破列表项并从列表项中添加新的类查找,例如下面的示例?

主要 HTML: Fiddle

<div class="widget-content">
<ul>
<li><a class="label1" href="/lorem">lorem</a> Test Content</li>
<li><a class="label1" href="/lorem">lorem</a> Test Content</li>
<li><a class="label1" href="/lorem">lorem</a> Test Content</li>

<li><a class="label2" href="/lorem">lorem</a> Test Content</li>
<li><a class="label2" href="/lorem">lorem</a> Test Content</li>
<li><a class="label2" href="/lorem">lorem</a> Test Content</li>
</ul>
</div>

我想像这样按类拆分列表项:

<div class="widget-content">

<ul class="label1"> <!--add class find from list-->
<li><a class="label1" href="/lorem">lorem</a> Test Content</li>
<li><a class="label1" href="/lorem">lorem</a> Test Content</li>
<li><a class="label1" href="/lorem">lorem</a> Test Content</li>
</ul>

<ul class="label2"> <!--add class find from list-->
<li><a class="label2" href="/lorem">lorem</a> Test Content</li>
<li><a class="label2" href="/lorem">lorem</a> Test Content</li>
<li><a class="label2" href="/lorem">lorem</a> Test Content</li>
</ul>

</div>

我的意思是按类打破列表项并将类添加到父 ul 从上面给出的列表项示例中查找。如何通过 Jquery/JS 简单地做到这一点?
提前致谢。

最佳答案

jsBin demo

$(".widget-content").each(function(){

  var $li = $(this).find("li").unwrap(); // unwrap removes the old UL wrapper
  var uniq = [];

  // Create a collection of unique "label*" classes:
  $li.find("[class^=label]").attr("class", function(i, v){
    if(!~$.inArray(v, uniq)) uniq.push(v);
  });

  // Group LI by A class, and wrap into a new UL with the same class
  $.each(uniq, function(i, klas){
    $("a."+klas).closest("li").wrapAll($("<ul/>",{class:klas}));
  });

});

关于javascript - 按类名包装 List 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35920178/

相关文章:

javascript - 缓存这个,jQuery

javascript - 使用 BlazeJS 访问文档

javascript - 如何使用 JavaScript/jQuery 调整图像大小而不像浏览器那样像素化?

jquery - 将滚动条与动画/gif 同步

javascript - 使用 jQuery 从输入值设置本地存储键

javascript - 一个请求中包含 JSON 和 HTML?

javascript - &lt;script&gt; 未在 AJAX 中返回

javascript - 如何使用javascript或jquery读取json中的单个值

javascript - 使用 jQuery 随机引用

javascript - 如何使用 $sce 插入带有 angular.js 的 iframe?