如判断ul 里面的li 个数 如果大于某个数则给多余的li添加Class
  • a
  • b
  • c
  • d
  • e
  • f

问题是:现在ul里面总共有6个li(ps:li个数有可能变化的),但是我只要显示前面2个跟后面2个li,
中间其余的li全部增加隐藏的class,这样子要怎么做?

2个回答

可以参考jquery的遍历函数:http://www.w3school.com.cn/jquery/jquery_ref_traversing.asp

写了一个类似的给你参照,根据这些遍历函数,肯定能够达到你想要的效果
(引用了在线的jquery库)

 <!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="http://code.jquery.com/jquery-1.7.2.js" ></script>
    <script>
        $(function(){
            var sum=0;
            $("#list").children("li").each(function(){
                sum++;
            });
            var i=0;
            $("#list").children("li").each(function(){
                i++;
                if(i!=1&&i!=2&&i!=sum&&i!=sum-1){
                    $(this).addClass("red");
                }
            });
        });

    </script>
    <style type="text/css">
        .red{
            color: red;
        }
    </style>
</head>
<body>
    <ul id="list">
        <li>1</li>
        <li>1</li>
        <li>1</li>
        <li>1</li>
        <li>1</li>
        <li>1</li>
        <li>1</li>
        <li>1</li>
    </ul>
</body>
</html>
 var liLength = $("#外层包装div li").length;  
for(var i = 0; i < liLength; i++){   
    if (i > 1 && i < liLength - 2)
            $("#外层包装div li")[i].style.display='none'; 
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐