如何使用jQuery:not selector

时间:2009-11-26 22:53:40

标签: jquery

当我点击一个链接时,我正试图显示一个div并隐藏同一个类的其他div

$(this).find('h2 a').click(function() {
    $('.expand-collapse:eq(' + numberFix + ')' ).show('fast');
    $('.expand-collapse:eq:not(' + numberFix + ')' ).hide('fast');
return false;
});

它确实显示受影响的div,但其他div不隐藏 - 我使用:不是错误的方式?我用这种方式用“nth-child”来做得很好。

任何关于如何解决这个问题的想法都将不胜感激! :)

2 个答案:

答案 0 :(得分:1)

尝试:not(:eq(...))

$(this).find('h2 a').click(function() {
    $('.expand-collapse:eq(' + numberFix + ')' ).show('fast');
    $('.expand-collapse:not(:eq(' + numberFix + '))' ).hide('fast');
    return false;
});

答案 1 :(得分:1)

尝试兄弟姐妹:

$(this).find('h2 a').click(function(e) {
    $('.expand-collapse:eq(' + numberFix + ')' )
        .show('fast').siblings().hide('fast');
    e.preventDefault();
});