2010-03-30 4 views
1

Это мой первый раз, поэтому я надеюсь, что я не оторвусь от глупых!Невозможно ограничить «возврат false» только родительскому элементу; хочу, чтобы дети вернулись!

У меня очень простая проблема с jQuery: у меня есть база данных, основанная на базе ul-based, и я хочу, чтобы элементы списка, содержащие другие списки, отображали список, содержащий список. В (генерируемые) списки выглядеть следующим образом (код 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-элемента, в ; Во-вторых, примените функцию toggle и return false, чтобы ТОЛЬКО те li.cat-элементы, у которых есть ul.children, оставляя ссылки внутри по умолчанию.

<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; 
    }); 
}); 

Я должен был предназначаться «а» тег внутри литий, а не сам ли.

 Смежные вопросы

  • Нет связанных вопросов^_^