jQuery:元素的顺序与文档中的顺序不匹配

时间:2010-01-27 14:45:43

标签: jquery

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

$el.parents('li')

它从底部向上以相反的顺序返回。

$ el是三级“li”。

我理解它在树上行走,但是这个http://docs.jquery.com/Release:jQuery_1.3.2明确指出元素按它们在文档中出现的顺序返回。这是一个错误吗?

4 个答案:

答案 0 :(得分:2)

Parents遍历DOM,从最近的父级到最外层,这就是“反向”返回的原因。 Jquery通常不对其结果重新排序 - 如果遍历方法是从上到下,则结果按顺序返回(从上到下)。如果遍历方法是从内到外,则结果将“无序”返回。

答案 1 :(得分:1)

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

这是因为你想要第一个<li>父母:

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

jQuery.fn.reverse = [].reverse;

添加jQuery反向函数,以便$el.parents('li').reverse()起作用。