javascript - 使用 Jquery 订购附加类

标签 javascript jquery

我想问一下,可以订补课吗?例如,在我的 JSFiddle当我附加类(class)时,我想在移动设备上查看 Lorem ipsum dolor sit amet

这是我的 JQuery

$(".cont-1, .cont-2, .cont-3, .cont-4").clone().prependTo(".mobile-content");

附言无法更改 .content

中的类顺序

最佳答案

在单个选择器中无法做到这一点,因为元素通常按照在 DOM 中找到的顺序排序(尽管这本身也不能保证)。

如果您想影响元素的顺序,您需要对元素进行sort()。鉴于您的示例,您需要创建一个数组,该数组以正确的顺序保存值,然后您可以使用它来比较 sort() 方法中的索引,如下所示:

$(".cont-1, .cont-2, .cont-3, .cont-4").clone().prependTo(".mobile-content");

var ordering = ['lorem', 'ipsum', 'dolor', 'sit amet'];
$('.mobile-content div').sort(function(a, b) {
  return ordering.indexOf(a.innerText.trim().toLowerCase()) - ordering.indexOf(b.innerText.trim().toLowerCase());
}).appendTo('.mobile-content');
div.content > div {
  display: inline
}
div.mobile-content > div {
  display: inline;
  margin: 0 5px 0 0
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Original look:<br />
<div class="content">
  <div class="cont-2">ipsum</div>
  <div class="cont-1">Lorem</div>
  <div class="cont-4">sit amet</div>
  <div class="cont-3">dolor</div>
</div><br />

Mobile look:<br />
<div class="mobile-content"></div>

在处理单组元素(如上所述)时,这种模式可以说是多余的,因为您可以从 ordering 数组中按顺序生成 div 元素,而不是克隆它们然后对它们进行分类。

关于javascript - 使用 Jquery 订购附加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40505613/

相关文章:

javascript - Paypal智能按钮: how to redirect to a PHP page after successfull payment?

php - 使用 htaccess 将 php 函数和一些文本添加到数百个 .htm 文件中?这行得通吗?

javascript - 如何使用 javascript 通过删除中间名来仅提取名字和姓氏

java - 鼠标悬停时如何在 Tapestry 5.3.6 调色板组件中显示选项文本的工具提示(标题)?

javascript - 使用 javascript 映射读取键值对以填充选择器 react native 时出错

jquery 无法在 'animate' : Partial keyframes are not supported 上执行 'Element'

html - 如果 CDN 失败,如何回退到本地样式表(不是脚本)

javascript - 将 JavaScript 添加到 MVC 4 .NET Bootstrap Web 应用程序

javascript - 动态创建( Bootstrap )html 表格行 - 单击事件不会触发

javascript - 防止 Node.js 8+ 因未捕获的异常而退出