我有这个小提琴,在我的网页上排序项目。我可以通过检查console.log结果看到它的工作原理。我只是不知道如何使结果显示在实际网页上 - 按顺序排序的项目。
function myFunction() {
var elements = [].slice.call(document.getElementsByClassName("price"));
elements.sort(function(a, b) {
return parseFloat(b.innerHTML.substring(1)) - parseFloat(a.innerHTML.substring(1));
});
for (var i = 0; i < elements.length; i++)
elements[i].parentNode.appendChild(elements[i]);
console.log(elements);
}
感谢。
答案 0 :(得分:0)
正如我在评论中提到的那样,你的排序存在一些问题。 1你的for循环周围没有{},所以它只运行一次。 2您正在将price
附加到其自己的父节点,并且由于父节点仍处于其原始顺序,因此该函数不执行任何操作。您需要做的是选择要排序的整个元素的父节点,并将其附加到您的可排序项共有的第一个父节点。这是一个jsfiddle,我的意思是functioning fiddle ps我在你的排序函数中切换了a和b,这样结果实际上与原始页面不同。