gpt4 book ai didi

javascript - 对函数进行排序以包含子项

转载 作者:行者123 更新时间:2023-11-28 19:40:41 24 4
gpt4 key购买 nike

我目前有一个函数可以根据类对 div 进行数字排序,但是在获取数据时它不会假设子元素。这是函数:

$(document).ready(function () {
var sortedDivs = $(".frame").find("div").toArray().sort(sorter);
$.each(sortedDivs, function (index, value) {
$(".sorted").append(value);
});
});

function sorter(a, b) {
return a.getAttribute('class') - b.getAttribute('class');
};

需要这样:

<div class="frame">
<div class="5">
Div 5 here
<div class="sub">
Div 11 here
</div>
</div>
<div class="3">
Div 3 Here
</div>
<div class="4.5">
Div 4.5 here
</div>
<div class="4">
Div 4 Here
</div>

输出:

<div class="frame"></div>
<div class="sorted">
<div class="sub">
Div 11 here
</div>
<div class="3">
Div 3 Here
</div>
<div class="4">
Div 4 Here
</div>
<div class="4.5">
Div 4.5 here
</div>
<div class="5">
Div 5 here
</div>
</div>

我希望脚本也移动所有子项(即 div、img 等),从而将“Div 11 here”放在最后。换句话说,.sub 将仍然是 .5 的子级。

有什么好主意吗? =D

请参阅此处的 fiddle :http://jsfiddle.net/Thaikhan/6hpNz/65/

最佳答案

尝试将选择器更改为:

var sortedDivs = $(".frame > div").toArray().sort(sorter);

它将获取frame下的所有div。

关于javascript - 对函数进行排序以包含子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25111727/

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