当有多个div与该类时,jQuery使'n'类可见

时间:2013-11-13 21:14:12

标签: jquery class visibility show-hide

我有10 DIV个班级.sequence-container

是否可以使第6和第8个div可见/隐藏?

我知道你可以使用

$('.sequence-container div:hidden').next();

但不确定如何在序列中显示特定的div?

有什么建议吗?

3 个答案:

答案 0 :(得分:4)

使用:eq

$('div.sequence-container:eq(5), div.sequence-container:eq(7)').hide();

编辑::eq从零开始,所以第6个div实际上是索引5.谢谢@ j08961

答案 1 :(得分:3)

怎么样

  $('.sequence-container')
     .filter(function(i){return (i==5 || i==7);})
     .css('visibility','hidden'); //or use .hide() if you want to make it display:none/block

如果您正在谈论可见性/隐藏使用上述内容,如果您想设置展示道具,请使用.hide()/.show()代替.css

另请注意,'.sequence-container div'将选择作为.sequence-container后代的div,但看起来似乎不是您想要的问题。

你也可以灵活。

var filter = [6, 8]; //items to be filtered
$('.sequence-container').filter(function (i) {
    return $.inArray((i+1), filter) > -1;
}).hide();

<强> Demo

答案 2 :(得分:0)

您实际上可以使用.css()来做到这一点:

$(function(){
    $('.sequence-container').css('visibility', function(i){
        //if using display rather than visibility, you can also reference
        // the element by using $(this).hide();
        if(i==5||i==7)
            return 'visible'; 
    });
});

样本: http://jsfiddle.net/dirtyd77/uWqvU/