Javascript 如何将所有顺序排列的元素与由分隔符类分隔的同一类进行分组?

Javascript 如何将所有顺序排列的元素与由分隔符类分隔的同一类进行分组?,javascript,jquery,html,siblings,Javascript,Jquery,Html,Siblings,我有一个由列表分隔符和项目组成的列表。我想在列表分隔符下面按字母顺序逐个排序项目。在此之前,我需要将这些数据分组。问题是这些不是在div中排序的,而是在同一级别上。我已经尝试了很多,但无法找到如何将这些数组中的数组分组,以便能够循环遍历这些组 我的html结构如下所示: <div class="list"> <div class="list-divider">A list divider</div> <div class="element">A

我有一个由列表分隔符和项目组成的列表。我想在列表分隔符下面按字母顺序逐个排序项目。在此之前,我需要将这些数据分组。问题是这些不是在
div
中排序的,而是在同一级别上。我已经尝试了很多,但无法找到如何将这些数组中的数组分组,以便能够循环遍历这些组

我的html结构如下所示:

<div class="list">
 <div class="list-divider">A list divider</div>
 <div class="element">A</div>
 <div class="element">B</div>
 <div class="list-divider">A list divider</div>
 <div class="element">G</div>
 <div class="element">A</div>
 <div class="element">C</div>
 <div class="element">B</div>
 <div class="list-divider">A list divider</div>
 <div class="element">A</div>
 <div class="element">X</div>
 <div class="element">X</div>
 <div class="element">C</div>
</div>

列表分隔符
A.
B
列表分隔符
G
A.
C
B
列表分隔符
A.
X
X
C

有没有一种简单的方法将这些数据分组到一个数组中?

以下是我能想到的:

var-sortable=[];
var newHTML=“”;
$(“.list>div”)。每个(函数(键、值){
if(value.className==“列表分隔符”){
可排序推送([]);
}
否则{
可排序[sortable.length-1]。推送(值);
}
})
for(可排序中的i)
{
可排序[i]。排序(函数(a,b){return(a.innerHTML>b.innerHTML)?1:((b.innerHTML>a.innerHTML)?-1:0;});
}
$(“.list>.list divider”)。每个(函数(键、值){
newHTML+=value.outerHTML;
对于(可排序[键]中的i)
newHTML+=sortable[key][i].outerHTML;
})

$(“.list”).html(newHTML)
对于列表分隔符,您有一个结束

而不是结束
这是错误的吗?是的,您是对的