我使用Jquery index
索引了我的文档。给定一个索引值,我想'找到''最近'元素与class
。这对我不起作用:
$(variableIndexNumber).closest('.class');
原因是有时候.class
会改变它的位置,这意味着它可能位于文档的任何位置。有时它的兄弟姐妹,有时是父母,有时会在文件中或在底部。所以通常的selctors next
closest
first
nextAll
等对我不起作用(因为文档树)
我可以尝试获得与其他元素(由变量给出)相近的.class
?
答案 0 :(得分:2)
使用.prevUntil('.class')
,.nextUntil('.class')
,.parentsUntil('.class')
,然后比较它们的尺寸。
无论哪个具有最小尺寸,在DOM结构方面最接近元素。
更新:在此过程中,您还需要.andSelf()
,.filter()
和典型的.next()
和.prev()
才能真正到达目标你要。演示已更新。您可以看到现在代码更通用。
你可能也需要一个排序功能,正如我在下面的概念验证中所做的那样。
DEMO :http://jsfiddle.net/terryyounghk/FzA78/
旁注:没有.childrenUntil()
,因为它向外分支DOM树,而不是向内分支到文档根目录,以防你想知道。但我的猜测是,你可以先$('.me').find('.class')
,然后为每个人做一个.parentsUntil('.me')
,然后比较大小。我不确定这是否会奏效。