在jQuery中选择元素

在此链接的问题的继续中,我想在test.html中添加一些function
事件触发器是“点击”任何

标记。 点击之后,我希望特定的

消失(这是相当简单的), 我也想要

  1. 如果隐藏了三个中的一个或两个

    ,那么“隐藏它们”按钮应该“显示”以及“显示它们” 但是

  2. 如果所有

    都被隐藏,那么“隐藏它们”也应该隐藏起来

  3. 当所有

    都可见时,“Show’em”应该被隐藏。

我试着用我对jQuery选择器和选择器文档的知识来解决这个问题,但是没有达到我想要的任何地方。 这就是我到目前为止所做的。

$('p.*').live('click', function() { $(this).hide('slow'); if( $('p').is(':hidden') ) { $('.shower').show(); } if( $('p.*').is(':hidden') ) { $('.hider').show(); } }); 

但是,此代码不会在所有

隐藏的极端条件下有选择地切换

这是一种方法

 var all_ps = $('p.*').length; var hidden_ps = 0; $('p.*').live('click', function() { $(this).hide('slow'); hidden_ps++; updateButtons(); }); function updateButtons() { $('.hider').show(); $('.shower').show(); if(hidden_ps == all_ps-1) { $('.hider').hide(); } else if(hidden_ps == 0) { $('.shower').hide(); } } function resetButtons() { $('p.*').show(); hidden_ps = 0; updateButtons() }