javascript - 使用Jquery将第一级 "li"标签包装成一个div

标签 javascript jquery html tags html-lists

假设我们有一个如下所示的多级 html 列表:

<ul class="catalog">
  <li>
    <ul>
      <li>
        <ul>
          <li>subcat subcat 1</li>
          <li>subcat subcat 2</li>
          <li>subcat subcat 3</li>
        </ul>
      </li>
      <li>subcat 2</li>
      <li>subcat 3</li>
    </ul>
  </li>
  <li>
    <ul>
      <li>subcat 4</li>
      <li>subcat 5</li>
      <li>subcat 6</li>
    </ul>
  </li>

</ul>

我只需要包装成一个div <li>属于列表第一层的标记(hamed“header 1”、“header 2”...及其所有子项)。

结果应该是:

<ul class="catalog">
  <div class="myWrapper">
    <!-- Added by JQuery -->
    <li>
      <ul>
        <li>
          <ul>
            <li>subcat subcat 1</li>
            <li>subcat subcat 2</li>
            <li>subcat subcat 3</li>
          </ul>
        </li>
        <li>subcat 2</li>
        <li>subcat 3</li>
      </ul>
    </li>
    <li>
      <ul>
        <li>subcat 4</li>
        <li>subcat 5</li>
        <li>subcat 6</li>
      </ul>
    </li>

  </div>
  <!-- Added by JQuery -->

</ul>

我试过了 wrap()功能,但没有按预期工作

关于如何完成这项工作有什么想法吗?

最佳答案

$('.catalog > li').wrapAll('<div class="wrapper"></div>');

但是您开始和结束时都使用严重无效的 HTML,因此您可能应该解决这个问题,然后再问这个问题。

关于javascript - 使用Jquery将第一级 "li"标签包装成一个div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3220550/

相关文章:

html - 如何将表单置于 div 的中心

jquery - 如何使用 JQuery 为大图像创建可拖动页面( map )?

javascript - 如何在菱形 div 中居中图像? - CSS,HTML

javascript - 在 knockout.js 中绑定(bind)多个下拉列表

javascript - 按特定子级对 DOM 元素进行排序(无 JQuery)

javascript - 如何动态地将数据从一个html页面添加到另一个html页面的列表中

javascript - Jquery - 根据条件向左或向右 move 元素

php - 带有选择字段问题的联系表

javascript - symfony2 + javascript 框架

javascript - Sinon.js、QUnit 和 Jquery。尝试通过 FakeXMLHttpRequest 验证发布的数据