如何使用保存的jquery对象查找后代

Joh*_*nny 2 javascript jquery jquery-selectors

我循环遍历一些无序列表,我想通过仅使用已保存的选择器(两者都用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>
Run Code Online (Sandbox Code Playgroud)

这是我的样本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) );

});
Run Code Online (Sandbox Code Playgroud)

就是这样.我期待将一组锚点作为第二个列表的后代发送到控制台.但事实并非如此.

您可以在我的jsfiddle示例中看到自己:http://jsfiddle.net/u6uf4/

我也对你可能拥有的任何"更好"的解决方案持开放态度.请记住,我只想使用已保存的选择器,并希望避免为此任务创建任何新的选择器.

感谢您花时间和精力帮助Jquery-er!

Dar*_*JDG 5

传递jQuery对象的选项find()最近才在1.6版中添加.您的jsfiddle示例使用1.5.2版.选择左侧的最新jQuery版本以使其工作.