gpt4 book ai didi

jQuery:根据 ID 对 Div 进行排序,基于 ID 列表

转载 作者:行者123 更新时间:2023-12-01 02:48:45 26 4
gpt4 key购买 nike

如果有一个 Javascript ID 数组

var myArray = ['2', '1', '3'];

现在,我也有了一组具有相应ID的DIVS。

<div id='container'>
<div id='item1'>1</div>
<div id='item2'>2</div>
<div id='item3'>3</div>
</div>

有没有一种简单的方法可以根据数组顺序对这些 div 进行排序?我曾想过仅循环遍历 div 并使用 insertBefore()insertAfter() 重新排列项目,但我想知道是否有更好的方法..

这是我迄今为止想到的( JSFiddle DEMO )

(function( $ ){
$.fn.jaySort= function(prefix, lst) {
var prev=null;
for (var x=0; x<lst.length; x++){
if (!prev) prev = $('#placeHolder');
$('#' + prefix + lst[x]).insertAfter(prev);
prev = $('#' + prefix + lst[x]);
}
};
})( jQuery );


///////////////////////////////////////////

var myArray = ['2', '1', '3'];
$('#container').jaySort('item', myArray);

更新

根据下面接受的答案,代码已改进为:

(function( $ ){
$.fn.jaySort= function(prefix, lst) {
for (var x=0; x<lst.length; x++)
$(this).append($('#' + prefix + lst[x]));
};
})( jQuery );
$('#container').jaySort('item', ['3', '2', '1']);

最佳答案

这也有效(而且更短)

<div id='container'>
<div id='item1'>1</div>
<div id='item2'>2</div>
<div id='item3'>3</div>
</div>

var myArray = ['2', '1', '3'];

$.each(myArray,function(index,value){
$('#container').append($('#item'+value));
});

jsFiddle

关于jQuery:根据 ID 对 Div 进行排序,基于 ID 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5473915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com