有没有办法修改JQuery每个()访问页面元素的顺序?
即我在页面上有4个元素,我希望元素3先来,然后是2,然后是4,然后是1。
由于
理查德
答案 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索引的。