0

我有 10DIV的班级.sequence-container

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

我知道你可以使用

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

但不确定如何使特定 div 在序列中可见?

有什么建议吗?

4

3 回答 3

4

利用:eq

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

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

于 2013-11-13T21:15:22.670 回答
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();

演示

于 2013-11-13T21:16:43.720 回答
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/

于 2013-11-13T21:25:45.987 回答