как найти потомков, используя сохраненный объект jquery - PullRequest
2 голосов
/ 10 мая 2011

Я перебираю некоторые неупорядоченные списки, и я хотел бы получить всех потомков, используя только сохраненные селекторы (оба из которых обернуты объектами jquery).

Вот мой пример HTML:

<ul>
    <li><a href="#">item 1</a></li>
    <li><a href="#">item 2</a></li>
    <li><a href="#">item 3</a></li>
    <li><a href="#">item 4</a></li>
    <li><a href="#">item 5</a></li>
</ul>

<ul>
    <li><a href="#">item 6</a></li>
    <li><a href="#">item 7</a></li>
    <li><a href="#">item 8</a></li>
    <li><a href="#">item 9</a></li>
    <li><a href="#">item 10</a></li>
</ul>

<ul>
    <li><a href="#">item 11</a></li>
    <li><a href="#">item 12</a></li>
    <li><a href="#">item 13</a></li>
    <li><a href="#">item 14</a></li>
    <li><a href="#">item 15</a></li>
</ul>

<ul>
    <li><a href="#">item 16</a></li>
    <li><a href="#">item 17</a></li>
    <li><a href="#">item 18</a></li>
    <li><a href="#">item 19</a></li>
    <li><a href="#">item 20</a></li>
</ul>

Вот мой пример JS:

$(document).ready(function() {

    allUls   = $('ul');
    allAs    = allUls.find('a');

    // shouldn't this next line get all anchors within the second unordered list?
    console.log( allUls.eq(1).find(allAs) );

});

Итак, вот оно.Я ожидал, что массив якорей, являющихся потомками второго списка, будет отправлен на консоль.Но это не так.

Вы можете убедиться на моем примере с jsfiddle: http://jsfiddle.net/u6uf4/

Я также открыт для любых "лучших" решений, которые у вас могут быть.Просто помните, что я хотел бы использовать только сохраненные селекторы и хотел бы избежать создания новых селекторов для этой задачи.

Спасибо за ваше время и усилия за помощь товарищу по Jquery-er!

Ответы [ 2 ]

5 голосов
/ 10 мая 2011

Опция передачи объекта jQuery в find() была добавлена ​​только недавно в версии 1.6 .Ваш пример jsfiddle использует версию 1.5.2.Выберите последнюю версию jQuery слева, чтобы она работала.

1 голос
/ 10 мая 2011

Закрыть, но вам не нужно фильтровать по allAs, просто фильтруйте по 'a'.

allUls.eq(1).find('a')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...