jquery - jQuery 是否总是按照 DOM 在代码中出现的顺序迭代它们?

标签 jquery list jquery-ui-sortable

例如,我有一个可排序列表:

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

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

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

我可以期望 jQuery 从上到下遍历条目吗?我已经运行了一些测试,并尝试使用 jQueryUI 动态重新排列项目,到目前为止,它似乎总是按顺序运行。但这总是可以预料到的吗?或者是运气太差了,到目前为止我还没有遇到任何让我有其他想法的事情......?

最佳答案

"Can I expect jQuery to go through the entries from top to bottom?"

是的。它们通过从 0length - 1 的数字索引进行迭代。

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

"I've run a few tests, and tried rearranging items dynamically..."

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

关于jquery - jQuery 是否总是按照 DOM 在代码中出现的顺序迭代它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182654/

相关文章:

Python:如何从列表中删除空列表?

Java 泛型放在 Map<String, ?扩展列表<String>>

jquery - 使用 jquery sortable 时如何复制项目?

javascript - 我需要帮助来复制这个很酷的 jQuery/javascript/css 效果

javascript - 保持子 Gridview 在回发时展开

jquery - JqG​​rid、DatePicker选择时工具栏中无值

python - 循环列表的两种方式 - 区别

javascript - 为什么 sort 是 jQuery UI .sortable() 的唯一事件触发?

jquery - Dropzone.js 使用 jQuery 可排序对队列进行拖放重新排序

javascript - jQuery 多选项卡脚本不工作