1

ここに私のhtmlがあります

<div id="1" class="category_group">
<ul class="top_level_category">
    <li><a>top level title 1</a>
        <ul class="sub_level_category">
            <li>lower level links</li>
            <li>lower level links</li>
            <li>lower level links</li>
            <li>lower level links</li>
        </ul>
    </li>
</ul>

<div id="2" class="category_group">
<ul class="top_level_category">
    <li><a>top level title 2</a>
        <ul class="sub_level_category">
            <li>lower level links</li>
            <li>lower level links</li>
            <li>lower level links</li>
            <li>lower level links</li>
        </ul>
    </li>
</ul>

これが私のjqueryになります

$('div ul li ul').hide();
$('div ul li a').click(function() {
$(this).find('ul').show();
});

アコーディオンを作っているのですが出来ません、リストの構造が普通と違います

サンプル

4

2 に答える 2

1

find()選択した要素の特定の子孫要素を検索するには、次のnextメソッドを使用できます。

$('div ul li a').click(function(e) {
    e.preventDefault();
    $(this).next('ul').toggle();
});

http://jsfiddle.net/6rXp2/

于 2012-10-12T09:52:04.913 に答える
0

または$(this).find('ul').show();で変更$(this).parent().find('ul').show();$(this).next('ul').show();

于 2012-10-12T09:51:11.563 に答える