// ==UserScript== // @name 知乎回答按赞同数排序 // @namespace wtf? // @version 0.1 // @description https://www.zhihu.com/people/hecong // @author 何从 // @match https://www.zhihu.com/question/* // @grant none // @downloadURL none // ==/UserScript== (function () { 'use strict'; document.getElementsByClassName('List-headerOptions')[0].addEventListener('click', function () { setTimeout(function () { var sorts = document.querySelector('div.Select-list.Answers-select') var butt = document.createElement('button') butt.className = 'Select-option' butt.innerText = '按赞同排序' butt.addEventListener('click', sortByLikes) sorts.appendChild(butt) function sortByLikes() { var answers = document.querySelectorAll('div.List-item') if (answers.length === 0) { return } var parent = answers[0].parentElement var likes = [] for (var i = 0; i < answers.length; i++) { var temp = answers[i].getElementsByClassName('Voters')[0] var n = temp ? temp.innerText : '0' n = parseInt(n.split(' ')[0]) likes.push([n, i]) } likes = likes.sort(descendByFirst) for (i = 0; i < likes.length; i++) { parent.appendChild(answers[likes[i][1]]) } } function descendByFirst(x, y) { return y[0] - x[0] } }, 0) }) })();