1

我已经使用 Jquery 索引了我的文档index给定一个索引值,我想用一些 '定位' '最近的'元素class。这对我不起作用:

$(variableIndexNumber).closest('.class');

原因是有时会.class更改其位置,这意味着它可能位于文档中的任何位置。有时它是兄弟姐妹,有时是父母,有时在文档或底部。所以通常的选择器next closest first nextAll等对我不起作用(因为文档树)

我可以尝试获得与.class其他元素(由变量给出)最近的相对值吗?

4

1 回答 1

2

使用.prevUntil('.class'), .nextUntil('.class'), .parentsUntil('.class'),然后比较它们的大小。

就 DOM 结构而言,无论哪个尺寸最小,都最接近元素。

更新:在此过程中,您还需要.andSelf(),.filter()和典型的.next().prev()实际达到您想要的目标。演示已更新。您可以看到现在代码更加通用。

您可能还需要一个排序功能,就像我在下面的概念验证中所做的那样。

演示:http: //jsfiddle.net/terryyounghk/FzA78/

旁注:没有.childrenUntil(),因为这是向外分支的 DOM 树,而不是向内指向文档根目录,以防您想知道。但我的猜测是,你可以先做一个$('.me').find('.class'),然后为每个人做一个.parentsUntil('.me'),然后比较大小。我不确定这是否可行。

于 2013-04-24T14:31:45.570 回答