在元素列表中查找元素的兄弟

时间:2010-08-30 15:09:54

标签: jquery list select jquery-selectors selection

好的,所以这就是我所拥有的:

我有一个缓存在变量中的元素列表:

elementList = $(".list-of-elements-with-this-class");

我还有一个动态生成的元素,该列表缓存在另一个变量中:

elementList.click(
    function()
    {
        cachedItem = $(this);
    }
);

我想要做的是在elementList中找到cachedItem,然后在列表中选择cachedItem的上一个或下一个兄弟。

所以伪代码看起来像这样:

nextCachedItem = elementList.find(cachedItem).next();

prevCachedItem = elementList.find(cachedItem).prev();

显然,上述方法无效。 : - )

提前感谢您的帮助!

-Tim。

1 个答案:

答案 0 :(得分:2)

我相信next()prev()处理DOM元素,而不是查询返回的jQuery节点列表。因此,您必须手动处理jQuery对象中nodeList的索引。

尝试:

// RAW DOM Nodes
elementList.get(elementList.index(cachedItem) - 1); // previous
elementList.get(elementList.index(cachedItem) + 1); // next

OR:

// jQuery Objects/Node list
elementList.eq(elementList.index(cachedItem) - 1); // previous
elementList.eq(elementList.index(cachedItem) + 1); // next
相关问题