仅使用javascript对html元素排序时出现的问题

仅使用javascript对html元素排序时出现的问题,javascript,html,Javascript,Html,嗨,我在尝试用JavaScript对HTML元素排序时遇到了一些问题。。。 以下是HTML代码: <div id="sorting"> <span>1</span> <span>2</span> <span>3</span> <span>4</span> <span>5</span>

嗨,我在尝试用JavaScript对HTML元素排序时遇到了一些问题。。。 以下是HTML代码:

<div id="sorting">
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
        <span>5</span>
 </div>
我试着把跨度的顺序倒转成5,4,3,2,1。。。但什么也没发生。我是否仍然可以使用排序方法,或者至少不使用任何循环(我知道它与for循环一起工作)?

使用
数组#reverse()
然后附加已排序的元素。dom之外的排序在dom中无效

var sorting=document.getElementById(“排序”)
var div=[].slice.call(sorting.children.reverse();
分区forEach((el)=>{
排序。追加子项(el);
});

1.
2.
3.
4.
5.
使用
数组#reverse()
然后附加已排序的元素。dom之外的排序在dom中无效

var sorting=document.getElementById(“排序”)
var div=[].slice.call(sorting.children.reverse();
分区forEach((el)=>{
排序。追加子项(el);
});

1.
2.
3.
4.
5.

您只是对元素列表的副本进行排序,实际上并没有修改DOM。您是在不考虑值的情况下反转列表,还是根据元素中的值进行排序?为什么排序函数返回
1
?这感觉像是一种假设某种排序算法的黑客行为。我的目标实际上是根据元素中的值对它们进行排序,但在这种情况下,我只是尝试颠倒元素的顺序,以了解如何对它们进行排序(这就是它返回1的原因)您只是对元素列表的副本进行排序,实际上,您并没有修改DOM。您是在尝试在不考虑值的情况下反转列表,还是根据元素中的值进行排序?为什么排序函数返回
1
?我的目标实际上是根据元素中的值对它们进行排序,但在本例中,我只是尝试颠倒元素的顺序,以了解如何对它们进行排序(这就是它返回1的原因)
function spanSort(){
    var div = Array.prototype.slice.call(document.getElementById("sorting").children);
    div.sort(function(){
        return 1;
    });
}