javascript - 切换与单击的 ID 相同的 div

标签 javascript jquery toggle jsfiddle

我正在尝试独立切换多个 div。

它目前正常工作,但不完全正常。 我试图实现的是切换一个与点击元素匹配的 div - 但我也希望能够再次点击该元素并隐藏匹配的 div。

我怎样才能做到这一点?随意使用 jsFiddle http://jsfiddle.net/oczfefaa/9/

$(document).ready(function() { 
  $("ul.menu li a").on("click", function(e) {
    $("div").addClass("hide");
    e.PreventDefault;
    var grabID = $(this).attr( "href" );
    $('div' + grabID).toggleClass("hide");
  });
});

最佳答案

试试这个:您正在为所有隐藏所有(包括点击的 div)的 div 添加 hide 类,因此在 toggleClass 上它将显示 div,尽管它已经可见。尝试向所有 div 添加 hide 类,除了单击的 div。

$(document).ready(function() {   
    $("ul.menu li a").on("click", function(e) { 
        e.PreventDefault; 
        var grabID = $(this).attr( "href" );                                
        $('div' + grabID).toggleClass("hide");
        $("div").not('div' + grabID).addClass("hide");//hide all div except clicked one.
    });

});

JSFiddle link

关于javascript - 切换与单击的 ID 相同的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33259121/

相关文章:

javascript - 如何使来自一个源的事件在后台呈现

带有更改标签的CSS复选框

html - 隐藏和显示按钮首先需要是 "show"

function - 在 emacs 中创建切换函数

javascript - 获取Chrome中局部变量的变量引用

javascript - 为什么在比较 2 个 "exact"JavaScript 对象值时,Object.is() 返回 false?

javascript - 使用 Javascript 变量赋值上下文中的表达式和上下文之外的表达式有什么区别?

javascript - 使用 Jquery 缩放图像后可拖动区域不正确

javascript - HTML5 : Hidden artificial horizontal scrolling

php - 如何让网站访问者安装 Chrome