javascript - 如何使用jQuery以与数组相同的顺序对html元素进行排序?
问题描述
我想以与 arrayData 相同的顺序订购 html 元素。
JavaScript
var arrayData = [59, 56, 57];
HTML
<div class="selectize-input">
<div class="item" data-value="56">Dog</div>
<div class="item" data-value="57">Rabbit</div>
<div class="item" data-value="59">Cat</div>
</div>
我想要这样的结果。
<div class="selectize-input">
<div class="item" data-value="59">Cat</div>
<div class="item" data-value="56">Dog</div>
<div class="item" data-value="57">Rabbit</div>
</div>
有什么好的方法可以实现这一点吗?先感谢您。
[附加] 我想得到这样的结果,但现在不知道如何将它应用于 html 元素并在浏览器上呈现。
const orderRule = ['Cat', 'Rabbit', 'Dog', 'Pig', 'Mouse'],
array = ['Mouse','Rabbit', 'Pig', 'Dog', 'Cat'];
const sortArray = [...array].sort((a, b) => orderRule.indexOf(a) - orderRule.indexOf(b));
console.log(sortArray);
解决方案
您可以使用循环遍历数组$.each
,然后使用append
在特定位置添加 div。
这是演示代码:
var arrayData = [59, 56, 57];
//looping through array
$.each(arrayData, function() {
//append div at particular positon using data-value
$(".selectize-input").append($("div [data-value=" + this + "]"));
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="selectize-input">
<div class="item" data-value="56">Dog</div>
<div class="item" data-value="57">Rabbit</div>
<div class="item" data-value="59">Cat</div>
</div>
推荐阅读
- java - Java 将 HTML 代码转换为普通字符
- ruby-on-rails - 获取“/locations/around/-17.28794,16.9”时出现 Rails 路由错误
- javascript - 正则表达式检查除连字符和正斜杠以外的特殊字符
- java - 任何人都可以解决用堆栈计算算术表达式的错误吗?
- c++ - 没有标准函数的 C++ 立方根查找器
- perl - perl 正则表达式匹配部分作为输出文件名
- apache-spark - 如何在 Spark 3.0 Preview 中使用 Delta?
- arrays - Numpy - 索引多维数组的一维
- macos - 如何使用 Xcode 让 GLUI 在 macOS 上工作?
- java - 如何使用 jCIFS 有效地搜索目录中的文件?