2013-02-12 90 views
0

(抱歉,但該代碼段是不工作在這裏)的。不選擇孩子()

<ul> 
    <li><a href="#" title="" class="active">d</a> 
    <ul> 
     <li><a href="#" title="">d</a></li> 
     <li><a href="#" title="">d</a></li> 
    </ul> 
    </li> 
    ... 
</ul> 

$('#menu > ul > li ul').click(function (e) { 
    e.stopPropagation(); 
}).not(this.parent().find('a.active')).hide(); 

看看的。不是()語句。當父母李的兄弟姐妹活躍時,我試圖讓孩子UL顯示。我嘗試了很多方法(兄弟姐妹,父母,發現,hasclass,..)但他們都沒有工作。可能因爲我沒有以正確的方式使用選擇器..

謝謝!

+0

我有一些問題,格式化代碼;我不知道爲什麼,但我的道歉。 – 2013-02-12 14:21:56

回答

0

你可以用純CSS做到這一點:

.active + ul { 
    display: block; 
} 
a + ul { 
    display: none; 
} 

但如果你想jQuery的,則:

$('#menu > ul > li ul').click(function (e) { 
    e.stopPropagation(); 
}).hide(); 
$('#menu > ul > li').has('.active').find('ul').show(); 

是一個更好的選擇

+0

謝謝。我試圖用一行來做,但你的工作當然是。 – 2013-02-12 14:30:17