【问题标题】:Hide all elements with a specific class and show by ID隐藏具有特定类的所有元素并按 ID 显示
【发布时间】:2013-09-30 15:20:23
【问题描述】:

我使用 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 的元素可见?

【问题讨论】:

标签: javascript jquery jquery-selectors show-hide


【解决方案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);
});

【讨论】:

  • 谢谢!这正是我需要的。我会尽快接受答案。 -- 一个问题是它现在没有滑出,而只是出现了。不过它可以很好地滑回......有什么解决方案吗?
猜你喜欢
  • 2012-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多