使用jQuery each()重新排序DOM元素顺序

时间:2010-11-11 13:32:32

标签: jquery dom each

有没有办法修改JQuery每个()访问页面元素的顺序?

即我在页面上有4个元素,我希望元素3先来,然后是2,然后是4,然后是1。

由于

理查德

4 个答案:

答案 0 :(得分:5)

假设您重新排序图片。

imgs = $( 'img' );

imgs.eq( 3 ).insertBefore( imgs.eq( 1 ) );

imgs.eq( 1 ).insertAfter( imgs.eq( 4 ) );

应该做的伎俩。

答案 1 :(得分:2)

.each()将以与DOM中出现的方式相同的方式提供节点。但它也将index传递给callback函数。因此,如果您需要采取不同的行动,请检查索引

$('object').each(function(index) {
    if( index === 2)
        alert('yay');
});

参考:.each()

答案 2 :(得分:0)

如果您知道为什么不在不使用each的情况下按顺序引用它们。

答案 3 :(得分:0)

$items = $('.my-selector');
my_array = [ $items.get(2), $items.get(1), $items.get(3), $items.get(0) ];
jQuery.each(my_array, callback_function);

请注意,jQuery对象是0索引的。