2013-04-05 125 views
2

我在一个类中有许多带有ID的div。如何显示其中一个并隐藏剩余的ID? 这里不用我用3周这样的div使用JQuery隐藏和显示

<div class="build"> 
    <div id="slide1"> 
     <!--slide1 elements --> 
    </div> 
    <div id="slide2"> 
     <!--slide2 elements--> 
    </div> 
    <div id="slide3"> 
     <!--slide2 elements--> 
    </div> 
</div> 

HTML这是香港专业教育学院试图与JS:

if (exp_id == "a_exp1") { 
    new_exp_id = exp_id; 

    $("#right").html("<div><img id='myimage1' onclick='changeimage1()' src='images/build_i.png'/>") 
} 

function changeimage1() { 
    for (var n = 1; n <= 3; n++) { 
     if (new_exp_id == "a_exp" + n) { 


      $('.build').hide(); 
      $('.build').find('#slide' + n).show(); 
     } 
    } 
} 

所以,如果它a_exp1,它应该对应滑件,如果a_exp2,它应该对应到slide2等等。

我需要显示一个div并隐藏其余部分。我该怎么做呢?我在我的HTML开头隐藏了整个班级。

+0

一旦你隐瞒父母,你看不到它的孩子甚至没有,如果你设置'显示:块important' – 2013-04-05 06:18:30

+0

使用jQuery插件? http://jqueryui.com/accordion/ – jgreen 2013-04-05 06:18:31

+0

您是否尝试过:'$('。build')。children('div')。click(function(){$(this).show()。siblings.hide );});'? – 2013-04-05 06:22:23

回答

0

我会用一个“隐藏所有,表现出一个”的方法,允许其中一个以前显示你不在乎,只是一个接近它,你想显示:

function showSlide(currentSlide) { 
    $(".build").children().hide(); 
    $("#slide" + currentSlide).show(); 
} 

那么你可以showSlide(1)你很好走。

+0

谢谢!我也试试这个! – 2013-04-05 06:44:28

0
$(document).ready (function() { 
    $(".build div").click(function() { 
     $(this).siblings().hide().end().show(); 
    }); 
}); 
4
$('.build').children('div').click(function() 
{ 
    $(this).show().siblings().hide(); 
}); 
+0

林不知道这是什么点击功能呢? – 2013-04-05 06:34:55

+0

无论如何,请尝试使用它! – 2013-04-05 06:43:13

2

提供所有div的同一类我们说“.chat”,然后隐藏所有div的与“.chat”级,并显示你想显示前

<div id="slide1" class="chat"> 
<div id="slide2" class="chat"> 
<div id="slide3" class="chat"> 
的一个

现在如果你想显示ID为股利slide3你可以做这样的事情

$('.chat').hide(); 
$('#slide3').show(); 

,如果你使用的是Ÿ点击事件来显示和隐藏的东西,然后用活点击工作,而不仅仅是点击

$('#somebutton').live("click",function(){ 
    $('.chat').hide(); 
$('#slide3').show(); 
});