javascript – 切换与点击相同ID的div

我试图独立切换多个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,虽然它已经可见了.尝试将hide类添加到除被单击的div之外的所有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

点赞