2011-12-07 114 views
2

我修改JQuery用户界面折叠式菜单,目前有如下的结构后:CSS选择元件选择

<h3>Title</h3> 
<div>Children</div> 
<h3 class="no-children">Title</h3> 
<div>Children</div> 
<h3>Title</h3> 
<div>Children</div> ... 

正如你可以看到,中级职称一直没有孩子,所以我想在CSS中做的事情是沿着选择在.no-children类之后发生的div并将其隐藏起来的。这些不是嵌套的,所以我不能简单地做到这一点。

我知道我可以display:none但我似乎无法选择正确的元素。

有没有办法做到这一点?

回答

4
.nochildren+div{ 
    /* Style goes here */ 
} 

这将选择一个DIV其被立即通过与所述.nochildren类元素之前。这只有在两个元素处于同一级别时才有效,许多旧版浏览器都会遇到问题。

http://www.quirksmode.org/css/contents.html

1

如果您在使用jQuery有这样 Here

+3

如果有人做jQuery UI的手风琴,我对他的使用jQuery的赔率是Reeally高。 – Joonas

+0

我正在使用jQuery ...显然...但我有点希望通过纯CSS来做到这一点,因为我使用的是CMS,而且我试图在我自己的主题中重写JQuery UI样式。 –

+0

啊,道歉,没有注意到顶部的句子 – kz3