2010-01-27 82 views
1

查询返回的元素的顺序应该与1.3.2版本的jQuery中的文档中元素的顺序匹配。我正在做下面的从无序列表中选择。jQuery:元素的顺序与文档中的顺序不匹配

$el.parents('li') 

它是从下往上以相反的顺序返回它。

$ el是三层深“里”。

据我所知,它走向树,但这http://docs.jquery.com/Release:jQuery_1.3.2明确指出,元素是按它们出现在文档中的顺序返回。那么这是一个错误?

+1

什么是$ el? DOM在哪里?我们可以看到与此相关的其他代码吗? – 2010-01-27 14:47:27

回答

2

Parents穿越距离最近的父DOM的最外层,这就是为什么它在“反向”返回。 Jquery通常不重新排列其结果 - 如果遍历的方法是从上到下,结果会按顺序返回(从上到下)。如果遍历的方法是内部到外部的,那么结果会“无序”地返回。

1

这就是元素的父母顺序,这是他们在看父母时的顺序......顺序是按照定义向后。

这是因为也许你想第一个<li>父:

$el.parents('li:eq(0)') 
1

parents从DOM中的当前节点行进到根,并选择与给定表达式匹配的所有节点。因此,从根目录查看时,匹配的顺序相反。

1

我无法复制您所看到的内容,但修复方法是颠倒jQuery元素数组。

jQuery.fn.reverse = [].reverse;

添加一个jQuery反转功能,因此$el.parents('li').reverse()会工作。

+0

+1 [] .reverse – epitka 2010-01-27 15:08:11