如何包装ul li - s元素

时间:2016-01-10 21:52:20

标签: jquery

我有这段代码

<ul class="category-module souvenir"> 
    <li></li>
    <li></li> 
    <li></li> 
    <li></li> 
    <li></li> 
</ul>

我需要将<li>从3号开始包装到<div> 我尝试了以下方法:

jQuery( document ).ready(function() {
    var ul = document.getElementsByClassName("souvenir")[1];
    var array = ul.children;
    array[0].slice(4).wrap( "<div class='new'></div>" ); 
});

更新:更详细的说明

我希望隐藏除前三个元素之外的所有元素。如何通过jquery实现这一目标?

1 个答案:

答案 0 :(得分:2)

如果您希望隐藏除前3

之外的所有元素

您可以使用:gt

$(document).ready(function() {
  $('.category-module.souvenir li:gt(2)').css('display','none');
});

或者您可以使用.slice

$(document).ready(function() {
  $('.category-module.souvenir li').slice(3).css('display','none');
});

希望隐藏x和y之间的元素?

例如,隐藏3,4和5:

$(document).ready(function() {
    $('.category-module.souvenir li').slice(2,5).css('display', 'none');
});

Jsfiddle with all 3 examples