JQuery - целевой элемент - PullRequest
       15

JQuery - целевой элемент

1 голос
/ 22 ноября 2011

Я создаю некоторую документацию для платформы ActionScript 3, которую я разработал. Ради согласованности это ощущение будет максимально приближено к формату Adobe Liveocs.

Слева находится панель, где я хочу получить дерево классов, классифицированных по пакетам. HTML-код выглядит так:

<ul id="directory">
    <li class="package">zephyr</li>
    <ul>
        <li><a href="/docs/zephyr/class/foundation.php">zephyr.<strong>Foundation</strong></a></li>

        <li class="package">zephyr.core</li>
        <ul>
            <li><a href="/docs/zephyr/class/core.php">zephyr.core.<strong>Core</strong></a></li>
            <li><a href="/docs/zephyr/class/heart.php">zephyr.core.<strong>Heart</strong></a></li>
            <li><a href="/docs/zephyr/class/manager.php">zephyr.core.<strong>Manager</strong></a></li>
            <li><a href="/docs/zephyr/class/signature.php">zephyr.core.<strong>Signature</strong></a></li>
        </ul>

        <li class="package">zephyr.entity</li>
        <ul>
            <li><a href="/docs/zephyr/class/entity.php">zephyr.entity.<strong>Entity</strong></a></li>
        </ul>
    </ul>
</ul>

Вы заметите, что каждый пакет имеет класс package и за ним всегда сразу следует:

<ul>...</ul>

Я хочу выбрать этот <ul> элемент, который следует сразу после каждого li.package в этом фрагменте JQuery:

$("li.package").click(function()
{
    var ul = ??; // <---- get relevant ul here

    ul.slideToggle(300);
});

Как мне этого добиться?

1 Ответ

2 голосов
/ 22 ноября 2011

Используйте

$(this).next('ul');

Это означает, что найдите элемент ul, который находится рядом с элементом li, по которому щелкнули.

См. Пример fiddle .

...