Javascript 根据子元素值对列表itmes进行排序
有多个Javascript 根据子元素值对列表itmes进行排序,javascript,html,sorting,date,logic,Javascript,Html,Sorting,Date,Logic,有多个li标记。在这些li标记中有一个span元素,其值为一个月。我想要的是使用li标记中span元素的month文本值对li标记进行排序 比如,;如果有li标记,并且li标记内有span,其中December作为其innerHTML,该li标记应位于列表底部,因为December是一年的最后一个月 下面是html代码 2018 也许 十一月 九月 十一月 施工月数=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月
li
标记。在这些li
标记中有一个span
元素,其值为一个月。我想要的是使用li
标记中span
元素的month文本值对li
标记进行排序
比如,;如果有li
标记,并且li
标记内有span
,其中December
作为其innerHTML
,该li
标记应位于列表底部,因为December
是一年的最后一个月
下面是html代码
2018
-
也许
-
十一月
-
九月
-
十一月
施工月数=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];
我已经尝试了许多使用javascript实现这一点的方法,但是我的logix已经用完了。请随意询问更多细节。一种方法是使用实际日期和构造函数。通过这种方式,您可以相互评估确切的日期,并在排序函数中使用它们。您已经有了月份,但在本例中,年份也是构建有效日期所必需的。最低要求是一年。在这种情况下,我们需要年份和月份 我使用了HTML5元素,它让你的约会更具语义。它有一个
datetime
属性,屏幕阅读器和搜索引擎可以读取该属性以了解日期,例如NOV
。我们可以使用datetime
属性中的值来使用构造函数创建新的日期
首先选择所有元素并使用或排列语法[…elements]
从结果创建数组。这需要使用排序
方法,该方法在所有数组中都可用
在该方法中,将datetime
属性中的值相互比较以创建顺序。现在已经设置了顺序,我们希望将其应用于文档。再次循环查看日期,并使用Flexbox的order
属性根据排序数组的索引设置正确的顺序
您还需要添加display:flex
和弹性方向:在
元素上的列
,使
元素与顺序
属性一起工作
如果我不清楚或者你还有其他问题,请告诉我
//获取元素并将它们放入数组中。
const dates=Array.from(document.querySelectorAll(“.gallery mlti date”);
//按日期排序。从一月到十二月。
排序((a,b)=>新日期(a.dateTime)-新日期(b.dateTime));
//按已排序列表的索引设置列表项的顺序。
dates.forEach((日期,索引)=>date.parentElement.style.order=index)代码>
。时间线项目{
显示器:flex;
弯曲方向:立柱;
}
2018
-
也许
-
十一月
-
九月
-
十一月
一种方法是使用实际日期和构造函数。通过这种方式,您可以相互评估确切的日期,并在排序函数中使用它们。您已经有了月份,但在本例中,年份也是构建有效日期所必需的。最低要求是一年。在这种情况下,我们需要年份和月份
我使用了HTML5元素,它让你的约会更具语义。它有一个datetime
属性,屏幕阅读器和搜索引擎可以读取该属性以了解日期,例如NOV
。我们可以使用datetime
属性中的值来使用构造函数创建新的日期
首先选择所有元素并使用或排列语法[…elements]
从结果创建数组。这需要使用排序
方法,该方法在所有数组中都可用
在该方法中,将datetime
属性中的值相互比较以创建顺序。现在已经设置了顺序,我们希望将其应用于文档。再次循环查看日期,并使用Flexbox的order
属性根据排序数组的索引设置正确的顺序
您还需要添加display:flex
和弹性方向:在
元素上的列
,使
元素与顺序
属性一起工作
如果我不清楚或者你还有其他问题,请告诉我
//获取元素并将它们放入数组中。
const dates=Array.from(document.querySelectorAll(“.gallery mlti date”);
//按日期排序。从一月到十二月。
排序((a,b)=>新日期(a.dateTime)-新日期(b.dateTime));
//按已排序列表的索引设置列表项的顺序。
dates.forEach((日期,索引)=>date.parentElement.style.order=index)代码>
。时间线项目{
显示器:flex;
弯曲方向:立柱;
}
2018
-
也许
-
十一月
-
九月
-
十一月
试试:
2018
-
也许
<