使用 jQuery 动态排列 div

2024-01-01

我有以下结构:

<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 以匹配新顺序?

非常感谢您的宝贵时间。


我的插件版本 -工作演示 http://jsbin.com/ihuqo

采用数组和可选的 id 前缀,并对 id 对应于数组内 (id 前缀) + 值的顺序的元素进行重新排序。数组中任何不包含具有相应 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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jQuery 动态排列 div 的相关文章

随机推荐

  • 如何解决 SQL Server 中的“无效对象名称”?

    这是返回的错误消息 消息 208 第 16 级 状态 1 第 1 行 对象名称 ENG PREP 无效 在我尝试以下查询后会发生这种情况 insert into ENG PREP VALUES 572012 01 1 572012 01 2
  • ServerSocket 监听而不使用accept()

    我目前在学校参与一个项目 我们正在构建一个在 Android 手机上使用的通信系统 为此 我们将使用一个向所有客户端打开套接字的服务器 使它们进行通信 我以前做过几个聊天应用程序 没有任何套接字或线程处理问题 但这次 由于某种原因 它让我感
  • 如何在php中使用名称变量? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 你好 我正
  • ASP.NET 图表控件 - 如何创建此条形图?

    我想从数据表中制作一个图表控件 该表如下所示 替代文本 http www freeimagehosting net uploads 5d02ce1558 png http www freeimagehosting net uploads 5
  • “Any-∃”练习的有效类型签名是什么?

    Exercise Any Show that Any P xs is isomorphic to x xs P x 撇开以下事实不谈 x xs P x甚至不是有效语法 https stackoverflow com questions 56
  • 在 2020 年 Python 2 生命周期结束后,我还可以通过 Pip 安装依赖包吗?

    我正在使用 Python 2 7 和 python pip 从下载所有依赖包requirements txt用于运行我的项目的文件 据我们所知 Python 2 将于 2020 年结束生命 我担心无法从 pip 安装我的依赖包 因为pip
  • 将上下文传递给接口方法

    有点受到启发本文 https medium com benbjohnson structuring applications in go 3b04be4ff091上周 我正在尝试重构一个应用程序 我必须更明确地将上下文 数据库池 会话存储等
  • 如何在 C# 中使用 6.0 或更高版本获取 Android 设备的 Mac 地址?

    我发现了一些使用 Java 的示例 但是我在构建 C 方法时遇到了麻烦 任何人都可以发布一个简单的 C 示例来获取我的设备的 Mac 地址 FOR Marshmallow 6 0 我知道还有其他方法可以获取唯一 ID 但我现在对导入组件并不
  • 打印不带省略号的 numpy 数组

    我想打印一个不被截断的 numpy 数组 我见过其他解决方案 但这些似乎不起作用 这是代码片段 total list np array total list np set printoptions threshold np inf prin
  • 与 MS Access 建立连接

    Microsoft ACE OLEDB 12 0 提供程序未在本地计算机上注册 and Microsoft JET OLEDB 4 0 提供程序未在本地计算机上注册 对我来说都是错误 我在尝试创建 Access 连接时一直在尝试这两种方法
  • 如何在 CoordinatorLayout 中禁用 AppBarLayout 的滚动?

    I have MapFragment内部有视差效果AppBarLayout 我想禁用滚动AppBarLayout 因为不可能在地图上移动 因为地图上的触摸事件始终被处理为滚动事件 我想处理崩溃AppBarLayout通过滚动Recycler
  • 如何使用 Three.js 在运行时绘制线段

    我是 Three js 的新手 我正在尝试实现 Microsoft Paint 中用于绘制线段的技术 我试图获取 onMouseDown 点的坐标 然后用 onMouseMove 延伸一条线直到 onMouseDown 请帮忙 Three
  • SQL 按年龄范围分组

    SQL 2005 我有一个包含 ages c 列的表 我需要按年龄范围对记录进行分组 这是我在这个网站上找到的查询 它让我达到了 90 但 分组依据 出错 无效的列名 age range select case when age c lt
  • 如何根据 ng-style 指令中的多个条件应用多种样式?

    在角度中 我需要根据不同的条件应用不同的样式属性 但它不能以这种方式工作 我只能使用条件表达式应用 2 个条件 div 如果您知道有什么方法可以将属性 div
  • 访问 Websphere 6.1 变量

    我想从 java 类获取 Websphere 变量 APP INSTALL ROOT 的值 如何才能做到这一点 试试这个网站 http www slightlytallerthanaverageman com 2007 04 02 acce
  • 应用程序未在最新版本的react-native iOS 上运行

    新项目无法在 iOS 上构建 使用react native init创建新项目 项目名称 然后使用react native run ios运行 并在终端上遇到以下问题 构建失败 以下命令产生了分析器问题 分析 Volumes mac dat
  • Angular Material 中的 MatDialog 对话框未关闭

    我正在开发 Angular 6 应用程序 其中使用 Angular 材质对话框 数据成功发送到服务器后 我尝试关闭成功对话框 我用了 this dialogRef close 0 or this dialogRef close 0 or t
  • 如何调试缓慢的 Ember CLI/Broccoli 构建

    我的 Ember CLI 项目当前需要 8 9 秒才能构建 我想了解原因 该项目不是那么大 180个文件app 包括 hbs 和 scss 这是我的兄弟文件 https gist github com samselikoff 874c907
  • ListView 不会刷新,而附加列表会刷新(Flutter)

    我正在尝试熟悉颤振 但遇到了一些奇怪的情况 我想建立一个动态的ListView其中一个 按钮允许添加元素 我写了以下状态代码 class MyWidgetListState extends State
  • 使用 jQuery 动态排列 div

    我有以下结构 div div div div div div div div div div 现在 someid 实际上是该 div 的唯一 ID 现在我收到一个具有不同顺序的数组 例如 someid 3 2 1 4 那么我如何使用 jQu