【发布时间】:2015-08-28 20:50:30
【问题描述】:
我想使用 jQuery 将 <ul class="main-list"> 包裹在它的第一个孩子 <li> 的每 6 个周围。使用 jQuery 完成此任务的最佳方法是什么?
这是我正在使用的 jQuery:
$(document).ready(function() {
var lis = $(".main-list li");
for(var i = 0; i < lis.length; i+=6) {
lis.slice(i, i+6)
.wrapAll("<ul class='list_unstyled'></ul>");
}
});
这是原始代码(ExpressionEngine):
<ul class="list-unstyled main-list">
{exp:channel:category_archive channel="speakers" style="linear" backspace="7"}
<li>
{categories}
<a href="#">{category_name}</a>
{/categories}
{entry_titles}
<ul class="list-unstyled">
<li><a href="{path='site/speaker'}">{title}</a></li>
</ul>
{/entry_titles}
</li>
{/exp:channel:category_archive}
</ul>
这是当前使用上面的 jquery 输出的代码:
<ul class="list-unstyled main-list">
<ul class="list_unstyled">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<ul class="list_unstyled">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</ul>
这是实现 jQuery 后想要的结果:
<ul class="list_unstyled">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<ul class="list_unstyled">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
【问题讨论】:
-
请附上您的 jQuery 代码和原始 HTML,以便我们帮助解决问题。
-
我稍微修改了我的问题。我实际上尝试了几段 jQuery 代码,但没有运气所以没有发布我的问题。不要'认为它是相关的。
-
很公平。在我看来,看看你已经尝试过什么以及具体出了什么问题会很有帮助。我发现这个过程有助于学习(对于当前和未来的读者),而不仅仅是根据规范生成代码。
-
@Sergey Denisov,是的,它很相似,我也看到过这篇文章,但并不完全相同。
-
@showdev,在上面粘贴了我的 jQuery 并稍微修改了我的问题。请保持让我知道最新消息。谢谢!