javascript - 如何在移动元素后更新包含元素列表的 jQuery 对象

标签 javascript jquery

有一个元素列表,比方说一些图片:

<img src="" alt="">
<img src="" alt="">
<img src="" alt="">

我选择它们并将结果存储在一个变量中:

var elements = $('img');

现在我想把最后一张图片放到第一个位置。它像这样工作得很好:

elements.first().before(elements.last());

在那之后,对象 elements 自然仍然按照它们之前的顺序保存值。我可以在轮类后再次查询来更新它:

elements = $('img');

但是当我已经将所有元素放在一起时运行另一个查询似乎效率低下。此外,由于它不是数组,因此无法正常工作:

elements.unshift(elements.pop());

在这种情况下更新对象列表的最佳方法是什么?

最佳答案

假的!

[].unshift.call(elements, [].pop.call(elements))

Demo


警告:我怀疑这比重新执行查询更快。

关于javascript - 如何在移动元素后更新包含元素列表的 jQuery 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15278786/

相关文章:

javascript - 您可以将事件绑定(bind)到访问键吗?

javascript - 解析嵌套的 JSON 响应 Javascript

javascript - VueJS v-bind 不适用于 kebab-case

javascript - 如果 4 个输入中的任何一个与值匹配,则显示 div?

javascript - 如何在另一个div中添加一个div但在随机位置

javascript - 如何获取文档数组中元素的数量 - MongoDB?

javascript - 如何在循环中创建JS类对象

jquery - 具有不同设计的多个淡入/淡出子菜单

javascript - 使用 jquery 检查所有值是否为空或已填充

jquery - 使用 Node.js 流式传输数据