2010-03-30 18 views
1

這是我第一次來這裏,所以我希望我不要太愚蠢!無法將「返回false」僅限制爲父元素;希望孩子們迴歸真實!

我有一個非常簡單的jQuery問題:我有一個數據庫生成的基於ul的導航,我希望列表項包含其他列表來切換顯示那些包含列表。的(產生的)名單看起來就像這樣(WordPress的代碼;忽略日本):

<div class="block first"> 
<ul class="counts"> 
    <li class="cat-item cat-item-43"> 
     <a href="http://localhost/crg/?cat=43" title="View all posts filed under その他製作物">その他製作物</a> 
    </li> 
    <li class="cat-item cat-item-3"> 
     <a href="http://localhost/crg/?cat=3" title="View all posts filed under クライアント">クライアント</a> 
     <ul class='children'> 
      <li class="cat-item cat-item-4"> 
       <a href="http://localhost/crg/?cat=4" title="View all posts filed under マイクロソフト">マイクロソフト</a> 
      </li> 
      <li class="cat-item cat-item-9"> 
       <a href="http://localhost/crg/?cat=9" title="View all posts filed under 夢">夢</a> 
      </li> 
      <li class="cat-item cat-item-8"> 
       <a href="http://localhost/crg/?cat=8" title="View all posts filed under 生">生</a> 
      </li> 
     </ul> 
    </li> 
</ul> 

,這裏是jQuery的我寫的: 首先,隱藏所有ul.children的內線li.cat項目的; 其次,將切換函數和返回false應用於僅包含具有ul.children的li.cat-item,並將鏈接保留在其默認函數中。

<script type="text/javascript"> 
$(document).ready(function() { 
    var children = $("li.cat-item:has(ul.children)>ul.children").hide(); 
    $("li.cat-item:has(ul.children)").click(function(){ 
     $(this).find('ul.children').toggle(); 
     return false; 
    }); 
}); 

的問題是,「迴歸假」是越來越應用到裏面的一切容器裏的並沒有什麼我做的,似乎從選擇中排除。有人知道我做錯了什麼?

在此先感謝

回答

0

做到了。

<script type="text/javascript"> 
$(document).ready(function() { 
    var children = $("li.cat-item:has(ul.children)>ul.children").hide(); 
    $("li.cat-item:has(ul.children) > a").click(function(){ 
     $(this).siblings('ul.children').toggle(); 
     return false; 
    }); 
}); 

我不得不針對李中的「一」的標籤,而不是李本身。