-1

我有这个对我网页上的项目进行排序的小提琴。我可以通过检查 console.log 结果看到它有效。我只是不知道如何使结果出现在实际网页上——按顺序排列的项目。

http://jsfiddle.net/AQFFq/21/

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);
}

谢谢。

4

1 回答 1

0

正如我在评论中提到的那样,您的排序存在一些问题。1 你的 for 循环周围没有 {},所以它只运行一次。2 您将 附加price到其自己的父节点,并且由于父节点仍处于其原始顺序,因此该函数不执行任何操作。您需要做的是选择作为您要排序的整个元素的父节点,并将其附加到您的可排序项目共有的第一个父节点。这是一个 jsfiddle,我的意思是功能小提琴ps 我在您的排序功能中切换了 a 和 b,因此结果实际上与原始页面不同。

于 2015-12-29T17:22:23.283 回答