繁体   English   中英

eq() 到 select 每 4 个 class

[英]eq() to select every 4th class

我想每隔 4 项使用 eq() 到 select 以添加 class 以将右边距归零。 我得到了一组混合产品,其中有一个可以打开和关闭产品的子导航。

nth() 不起作用,因为即使在 display:none 和特定的 class 被选中时,它也会计算所有产品。

Jquery

$('li.prod').toggle(true);

$('li.prod:visible:nth-child(4n)').addClass('prod-end');

$('li.button').click(function () {

HTML

});

 HTML

 <div class="subNav"> <ul> <li class="button active" id="all">all</li> <li class="button" id="men_apparel">men</li> <li class="button" id="women_apparel">women</li> <li class="button" id="kids">kids</li> </ul> </div> <div class="products"> <ul class="products_wrapper"> <li class="prod women"> </li> <li class="prod women"> </li> <li class="prod women"> </li> <li class="prod women"> </li> <li class="prod men"> </li> <li class="prod men"> </li> <li class="prod men"> </li> <li class="prod kids"> </li> <li class="prod kids"> </li> <li class="prod kids"> </li> <li class="prod kids"> </li> </ul> </div>

提前致谢!

怎么样

$('.foo:visible:nth-child(4)')
    $('.products_wrapper li').each(function(){
        var i = $(this).index()+1;
        if (i%4==0) {
            $(this).addClass('prod-end');
        };
    });

我认为您可能必须使用each来处理一些可以隐藏的事实:

$("ul li:visible").each(function(i, el){
    if(i%4 === 3){
        $(this).addClass("prop_end");
    }
});

http://jsfiddle.net/RjbVV/2/

改变

$('li.prod:eq(4n)').addClass('prod-end');

$('li.prod:nth-child(4n)').addClass('prod-end');

小提琴: http://jsfiddle.net/KuMzp/


或者这就是你的意思?

小提琴: http://jsfiddle.net/yuU9j/

$('li.prod').toggle(true);

$('li.prod:nth-child(4n)').addClass('prod-end');

$('li.button').click(function() {
    $('li.button').removeClass('active');
    $(this).addClass('active');
    $('li.prod').removeClass('prod-end');
    if ($('li#all').hasClass('active')) {
        $('li.prod').toggle(true);
        $('li.prod:nth-child(4n)').addClass('prod-end');
    } else {
        $('li.prod').toggle(false);
        $('li.' + $(this).text()).toggle(true);
        $('li.' + $(this).text()).eq(3).addClass('prod-end');
    }
});

这里:

演示

$("ul li:nth-child(4n)").addClass("prop-end");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM