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

标签 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 的元素可见?

最佳答案

尝试

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);
});

关于javascript - 隐藏具有特定类的所有元素并按 ID 显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19097906/

相关文章:

javascript - 如何仅在所有 html5 视频加载 infinitescroll 后才运行砌体?

javascript - 需要有关 AJAX 表单处理小部件的帮助

c# - 从 JavaScript 数组创建接口(interface)类型列表

javascript - 相同的选择器在常规浏览器和 Selenium 中给出不同的结果

javascript - Jquery 的 nth-child 选择器的语法错误

javascript - CSS 转换和 javascript

javascript - AngularJS 新路由器无法实例化 Controller

jquery SlideToggle() 和未知高度?

jquery - 选择器应该有多具体?

javascript - Bootstrap Modal 在不被查看或关闭的情况下立即消失