2013-11-27 54 views
-2

单独显示class-A(位于页面顶部),而隐藏所有其他(x,x,c)。
仅显示所有其他(x,x,c)类别A。CSS vs jQuery |是否有可能隐藏/显示div内的div?

这可能吗?

<div class="x"> 
    <div class="y"> 
     <div class="z"></div> 
    </div> 
</div> 
<div class="A"> 
    <div class="y"> 
     <div class="z"></div> 
    </div> 
</div> 
<div class="x"> 
    <div class="w"> 
     <div class="q"></div> 
    </div> 
</div> 
<div class="C"> 
    <div class="p"> 
     <div class="s"></div> 
    </div> 
</div> 

会更好,如果该代码仅与A类
(而不包括其他类(X,C))。因为这些可能会动态改变。

我尝试这样做:http://jsfiddle.net/smilyface/qX546/

+0

请添加你的JavaScript/jQuery代码。 –

+0

使用$(“。classname”)。show()和$(“。classname”)。hide() – Triode

+2

建议Downvoters评论downvoting的原因。 – SquareCat

回答

1

可以使用,

var a=$("div.A"); 
var others=$("div").not(".A,.A div"); 
a.toggle(); 
others.toggle(); 

Fiddle

+0

这工作正常 – smilyface

+0

@smilyface,你可以接受答案,如果它解决了你的问题。 –

+0

完成:)谢谢。 – smilyface

1

您可以检查这样

if($('.A').is(":visible")){ 
    $('.A').hide(); 
    $("div:not('.A')").show(); 
}else if($("div:not('.A')").is(':visible')){ 

} 

可能这个帮助你

+0

$(“div:not('。A')”)是否影响A中的Y和Z? – smilyface

+0

我想是的。我只是给了你一个想法,你可以根据你的需要修改代码:) – Ravi

+0

Ravi,我试过了。它不符合我的需要。但thanx的div:不是代码:) http://jsfiddle.net/smilyface/qX546/ – smilyface

0

你也可以做到这一点与切换,但首先你要隐藏页面上的类负载:

$('.A').hide(); 

$('#button').click(function(){ 
    $('.A').toggle(); 
    $('.x').toggle(); 
    $('.C').toggle(); 
}); 

jsfiddle

0

我会将三个DIV(a,x,c)包裹在一个外部DIV中。

<div class="x"> 
</div> 
<div class="outer"> 
    <div class="A"> 
    </div> 
    <div class="x"> 
    </div> 
    <div class="C"> 
    </div> 
</div> 

你可以在你的CSS定义设置.outerdisplay:none开始。

.outer { display: none; } 

然后,您可以使用jQuery调用$('.x').toggle()$('.outer').toggle()

更简单的方法是向两个DIV添加一个类名,并在该类上调用toggle()一次。

<div class="x toggleMe"> 
</div> 
<div class="toggleMe" style="display:none;"> 
    <div class="A"> 
    </div> 
    <div class="x"> 
    </div> 
    <div class="C"> 
    </div> 
</div> 

jQuery的

$('.toggleMe').toggle(); 
0

这是绝对有可能的,

先给显示:无;作为类a的默认值,并且对于其他类没有任何值,

并使用jquery切换两者。

//in css 
.A { 
    display: none; 
} 

//in js 

$('.A').toggle(); 
$('.X,.C').toggle();