gpt4 book ai didi

javascript - 使用 jQuery 动态排列 div

转载 作者:可可西里 更新时间:2023-11-01 02:51:51 26 4
gpt4 key购买 nike

我有以下结构:

<div id="container">
<div id="someid1" style="float:right"></div>
<div id="someid2" style="float:right"></div>
<div id="someid3" style="float:right"></div>
<div id="someid4" style="float:right"></div>
</div>

现在 someid 实际上是该 div 的唯一 ID。现在我收到一个具有不同顺序的数组,比如 someid 3、2、1、4,那么我如何使用 jQuery 移动这些 div 以匹配新顺序?

非常感谢您的宝贵时间。

最佳答案

我的插件版本 - Working Demo

获取一个数组和可选的 id 前缀,并重新排序其 id 对应于数组内 (id prefix) + 值顺序的元素。数组中不包含具有相应 id 的元素的任何值都将被忽略,并且数组中不包含 id 的任何子元素都将被删除。

(function($) {

$.fn.reOrder = function(array, prefix) {
return this.each(function() {
prefix = prefix || "";

if (array) {
for(var i=0; i < array.length; i++)
array[i] = $('#' + prefix + array[i]);

$(this).empty();

for(var i=0; i < array.length; i++)
$(this).append(array[i]);
}
});
}
})(jQuery);

演示代码

jQuery

 $(function() {
$('#go').click(function() {

var order = $('#order').val() == ""? null: $('#order').val().split(",");
$('#container').reOrder(order, 'someid');
});
});

(function($) {

$.fn.reOrder = function(array, prefix) {
return this.each(function() {
prefix = prefix || "";

if (array) {
for(var i=0; i < array.length; i++)
array[i] = $('#' + prefix + array[i]);

$(this).empty();

for(var i=0; i < array.length; i++)
$(this).append(array[i]);
}
});
}
})(jQuery);

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<title>reOrder Demo</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
body { background-color: #fff; font: 16px Helvetica, Arial; color: #000; }
div.style { width: 200px; height: 100px; border: 1px solid #000000; margin: 5px; }
</style>
</head>
<body>
<div id="container">
<div id="someid1" class="style" style="background-color:green;">div1</div>
<div id="someid2" class="style" style="background-color:blue;">div2</div>
<div id="someid3" class="style" style="background-color:red;">div3</div>
<div id="someid4" class="style" style="background-color:purple;">div4</div>
</div>
<p>Pass in a comma separated list of numbers 1-4 to reorder divs</p>
<input id="order" type="text" />
<input id="go" type="button" value="Re-Order" />


</body>
</html>

关于javascript - 使用 jQuery 动态排列 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/929519/

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