javascript - 使用 javascript 重构 html

标签 javascript jquery dom jquery-1.4

我有一个常规的无序链接列表,我想使用 js 更改它

<ul>
  <li><a href="#">Theme 1</a></li>
  <li><a href="#">Theme 2</a></li>
  <li><a href="#">Theme 3</a></li>
  <li><a href="#">Theme 4</a></li>
  <li><a href="#">Theme 5</a></li>
  <li><a href="#">Theme 6</a></li>
  <li><a href="#">Theme 7</a></li>
  <li><a href="#">Theme 8</a></li>
  <li><a href="#">Theme 9</a></li>
  <li><a href="#">Theme 10</a></li>
  <li><a href="#">Theme 11</a></li>
  <li><a href="#">Theme 12</a></li>
</ul>

我想要以下输出:

<div class="themes__row">
  <div class="themes__item><a href="#">Theme 1</a></div>
  <div class="themes__item><a href="#">Theme 2</a></div>
  <div class="themes__item><a href="#">Theme 3</a></div>
  <div class="themes__item><a href="#">Theme 4</a></div>
</div>
<div class="themes__row">
  <div class="themes__item><a href="#">Theme 5</a></div>
  <div class="themes__item><a href="#">Theme 6</a></div>
  <div class="themes__item><a href="#">Theme 7</a></div>
  <div class="themes__item><a href="#">Theme 8</a></div>
</div>
<div class="themes__row">
  <div class="themes__item><a href="#">Theme 9</a></div>
  <div class="themes__item><a href="#">Theme 10</a></div>
  <div class="themes__item><a href="#">Theme 11</a></div>
  <div class="themes__item><a href="#">Theme 12</a></div>
</div>

我来回尝试了几种不同的解决方案,但最终结果非常困惑,所以我实际上没有任何代码可以显示。这是如何以巧妙的方式完成的?如果重要的话,该网站正在使用 jQuery 1.4.4。

最佳答案

DEMO

$('ul').each(function () {
    var lis = $('li', this);
    for (var i = 0; i < lis.length; i += 4) {
        lis.slice(i, i + 4).wrapAll('<div class="themes__row"></div>');
    }
    $('.themes__row li').replaceWith(function () {
        return '<div class="themes__item">' + this.innerHTML + '</div>';
    });
}).contents().unwrap('ul');

引用文献

关于javascript - 使用 javascript 重构 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19616500/

相关文章:

javascript - 需要显示 Toastr 通知 jquery 插件

javascript - 等待函数完成 - 执行是异步的(不按顺序)

javascript - 不确定为什么这个 jquery 帖子不起作用

javascript - 如何在可编辑的 GridX 中将局部变量作为属性提供给单元格编辑器?

javascript - jQuery获取点击点

jquery - 获取具有特定标签的子元素 jQuery

javascript - 如何查看 jQuery 修改后的 HTML Dom?

Javascript .forEach() 不适用于 DOM 节点,因为它们会在此过程中发生变化

javascript - 将数据从动态加载的组件传递回父页面 Angular2

javascript - 单像素 CSS 错误?