隐藏具有特定类的所有元素并按ID显示

时间:2013-09-30 15:20:24

标签: javascript jquery jquery-selectors show-hide

我使用jquery的hide()函数在页面加载时隐藏了特定类的所有元素。我试图在点击链接时再次根据它的ID显示元素。

隐藏了7个元素,每个元素都有不同的ID。单击包含href="#element-id"的链接时,它应仅显示该元素并隐藏所有其他元素。

这是我当前隐藏元素的代码:

var menu = $('div.menu-wrapper');
menu.hide();

以下是我应该在点击时显示正确元素的内容:

$('area').click(function() {
    if($(this).attr('id') !== 'button') {
        var target = $(this).attr('href');
        target.toggle('slide', {
            direction: 'right'
        }, 900);    
    }
});

现在点击元素时没有任何反应。如何只保留隐藏类menu-wrapper的所有元素,而只有具有类menu-wrapper的元素和正确的ID可见?

1 个答案:

答案 0 :(得分:1)

尝试

var menu = $('div.menu-wrapper');
menu.hide();
//register the event handler to area elements other than #button
$('a:not(#button)').click(function () {
    //hide all elements referred menu
    menu.hide();
    //get the target jQuery wrapper, the href need to start with #
    var target = $($(this).attr('href'));
    target.toggle('slide', {
        direction: 'right'
    }, 900);
});