jQuery是否总是按照在代码中找到它们的顺序遍历DOM?

Kyl*_*cey 13 jquery list jquery-ui-sortable

比方说,我有一个可排序的列表:

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我想知道的是,如果我进行如下的jQuery调用:

$.each($('li'), function(key, item) {...});

我可以期待jQuery从上到下遍历条目吗?我已经运行了一些测试,并尝试使用jQueryUI动态重新排列项目,到目前为止,它似乎总是按顺序运行.但总能预料到这一点吗?或者是运气不好,到目前为止我还没有碰到任何东西让我想到其他...?

小智 11

"我可以期待jQuery从上到下遍历条目吗?"

是.它们通过数字索引迭代0length - 1.

元素将始终按它们在DOM中出现的顺序返回.

"我已经进行了一些测试,并尝试动态重新排列项目......"

如果这就是你的意思,它不会考虑CSS定位.如果您正在更改DOM中的实际位置,那么只有在从DOM中重新选择更新时才会看到更新.