使用jquery将每三行代码封装在html中
Wrap every third li in ul using jquery
我正试图将<ul class="mega-sub-menu">
包裹在<div class="sub-nav">
中每三个li
。
我正在使用下面的脚本,没有运气。
var lis = $(".sub-nav > ul > li");
for(var i = 0; i < lis.length; i+=3) {
lis.slice(i, i+3)
.wrapAll("<ul class='mega-sub-menu'></ul>");
} $('.mega-sub-menu').unwrap();
我想把这个变成…
<nav class="navigation">
<button aria-expanded="false" data-target="#navbar" data-toggle="collapse" class="navbar-toggle collapsed" type="button">
<span class="sr-only"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<ul class="navbar">
<li class="dropdown">
<a class="gold-nav current" href="#">Menu</a>
<div class="sub-menu mega-menu">
<div class="sub-nav">
<ul>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
</ul>
</div>
</div>
</li>
<li class="dropdown">
<a class="magenta-nav " href="#">Our Story</a>
<div class="sub-menu mega-menu">
<div class="sub-nav">
<ul>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
</ul>
</div>
</div>
</li>
<li class="dropdown">
<a class="blue-nav " href="#">Shop</a>
<div class="sub-menu mega-menu">
<div class="sub-nav">
<ul>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
</ul>
</div>
</div>
</li>
在这…
<nav class="navigation">
<button aria-expanded="false" data-target="#navbar" data-toggle="collapse" class="navbar-toggle collapsed" type="button">
<span class="sr-only"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<ul class="navbar">
<li class="dropdown">
<a class="gold-nav current" href="#">Menu</a>
<div class="sub-menu mega-menu">
<div class="sub-nav">
<ul class="mega-sub-menu">
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
</ul>
<ul class="mega-sub-menu">
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
</ul>
<ul class="mega-sub-menu">
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
</ul>
<ul class="mega-sub-menu">
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
</ul>
</ul>
</div>
</div>
</li>
<li class="dropdown">
<a class="magenta-nav " href="#">Our Story</a>
<div class="sub-menu mega-menu">
<div class="sub-nav">
<ul class="mega-sub-menu">
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
</ul>
</div>
</div>
</li>
<li class="dropdown">
<a class="blue-nav " href="#">Shop</a>
<div class="sub-menu mega-menu">
<div class="sub-nav">
<ul class="mega-sub-menu">
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<li><a href="">Item</a></li>
<ul>
<ul class="mega-sub-menu">
<li><a href="">Item</a></li>
</ul>
</div>
</div>
</li>
</ul>
</nav>
试试这个:
$(".sub-nav > ul > li").each(function(i){
console.log(i % 3);
if (i && (i % 3 === 1)) {
$(this)
.add($(this).prev())
.add($(this).next())
.wrapAll("<ul class='mega-sub-menu'></ul>");
}
});
$('.mega-sub-menu').unwrap();
相关文章:
- 如何从rails中的代码中删除新行( )
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 解析云代码作业:删除在数据库中已经存在一个小时的行
- Github Flavored Markdown-空行代码块获胜't渲染
- jQuery代码,用于在检查行时获取其他列的数据
- 如何获取dom元素的代码行号
- 行之间有空格会影响 JavaScript 代码的性能吗?
- 有谁知道这行代码的输出是什么?$.get(“http://192.168.4.1:80/”, {pin:p}.
- 使用 Javascript 动态删除行.我的代码有什么问题
- 这行代码中的每个函数在角度js中暗示或引用
- 如何在导出到excel时隐藏表中的第三行
- 得到第三行的最后一句话
- 第三行作为pdfMAke pdf创建器引擎中的表头
- 隐藏表格的第二行和第三行
- 将文本截断为三行,并在末尾显示三个点
- REGEX-当内部内容有换行符时,HTML到短代码换行
- 使用jquery将每三行代码封装在html中
- Javascript代码(换行,循环)
- 突出显示三.三行.js
- 如何将三行脚本组合成一页