Я здесь впервые, так что надеюсь, что я не выгляжу слишком глупо!
У меня очень простая проблема 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-item;
Во-вторых, примените функцию переключения и возврат 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;
});
});
Проблема в том, что «return false» применяется ко всему внутри контейнера li, и я ничего не делаю, кажется, что я исключаю их из выбора. Кто-нибудь знает, что я делаю не так?
Заранее спасибо