javascript - Jquery Div 排序和顺序 =)

标签 javascript jquery

我遇到的问题是我需要将某些 div 组合在一起并重新排序,如果全部都是动画那就太酷了。请看下面:

<div id="away">Some Content</div>
<div id="online">Some Content</div>
<div id="offline">Some Content</div>
<div id="away">Some Content</div>
<div id="online">Some Content</div>
<div id="offline">Some Content</div>
<div id="online">Some Content</div>
<div id="online">Some Content</div>
<div id="away">Some Content</div>

所以我更需要将 id 按以下顺序分组在一起: 1.在线 2.离开 3.离线

所以:

<div id="online">Some Content</div>
<div id="online">Some Content</div>
<div id="online">Some Content</div>
<div id="online">Some Content</div>
<div id="away">Some Content</div>
<div id="away">Some Content</div>
<div id="away">Some Content</div>
<div id="offline">Some Content</div>
<div id="offline">Some Content</div>

我似乎无法理解这个=(。

我在网站的其余部分使用 Jquery。

任何想法 =),干杯,Sam T

最佳答案

首先,让我们摆脱这些 ID(ID 必须是唯一的!),并使用有效 HTML 的类,如下所示:

<div id="users">
  <div class="away">Some Content</div>
  <div class="online">Some Content</div>
  <div class="offline">Some Content</div>
  <div class="away">Some Content</div>
  <div class="online">Some Content</div>
  <div class="offline">Some Content</div>
  <div class="online">Some Content</div>
  <div class="online">Some Content</div>
  <div class="away">Some Content</div>
</div>

然后您可以使用 .appendTo() 轻松对它们进行排序,像这样:

var statusOrder = ["online", "away", "offline"];
for(var i=0; i<statusOrder.length; i++) {
    $("#users ." + statusOrder[i]).appendTo("#users")​​​​​​​​​​​​​​​​​​​​​​​;
}

You can give it a try here ,这假设一个简单的容器,例如 <div id="users"></div>围绕此内容...只需使用它们所在容器的选择器即可。 ​

关于javascript - Jquery Div 排序和顺序 =),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3440954/

相关文章:

javascript - 如何使用 javascript 获取 yii2 中的列值而不是 ID

Javascript getElementById 行为奇怪

javascript - 动态调整iFrame高度动态改变内容高度(里面有解释)

jquery - 使用 CSS3 的可扩展菜单项

jquery - jquery 中的雨插件?

javascript - 页面加载时的 jQuery keyUp

javascript - HTML图片加载问题

php - 如何创建计时器

javascript - xhrpost dojo 的匿名 js 函数不返回数据

javascript - 是否可以同时点击 div1 和 div2,而 div2 正在叠加?