Jquery如何在点击时隐藏其他可见的div

时间:2010-06-23 23:21:35

标签: jquery

请提出两个问题:

1)在这个例子中,http://jsbin.com/ijuli,如何点击一个图像,另一个未隐藏的.clickSave div返回隐藏状态。

2)有没有更有效的方法来编写JS代码?

Jquery的

$(".clickSave").hide();  
    $(".one").click(function() {
    $(".clickSave.one").toggle(); 
});

$(".clickSave").hide();  
    $(".two").click(function() {
    $(".clickSave.two").toggle(); 
});

$(".clickSave").hide();  
    $(".three").click(function() {
    $(".clickSave.three").toggle(); 
});

提前非常感谢!我对这一切都很困惑。

3 个答案:

答案 0 :(得分:1)

你可以这样做:

$(document).ready(function() {
    $(".clickSave").hide();

    $("a").click(function() {  // attaches click handler to links       
        // toggle clickSave element inside the clicked link
        var ele = $(".clickSave", this).toggle();
        // hide all other visible clickSave elements
        $(".clickSave:visible").not(ele).hide(); 
    });
}); 

Demo

答案 1 :(得分:1)

您可以将代码更改为更通用的代码:

$(function() {
    $(".clickSave").hide();
    $(".choose-theme-bar ul li a").click(function() {
      $(this).find(".clickSave").toggle() //toggle current
       .end().parent().siblings().find(".clickSave").hide(); //hide others
    });
});

You can view an updated version of your demo here

答案 2 :(得分:1)

这应该有效:

 $('.clickSave').click( function() {
    $('.clickSave').hide()
    $(this).show()
 })