On MetaFilter.com, adds a "comment 1 of 30" to each comment.
目前為
// ==UserScript==
// @name MetaFilter number all comments
// @version 1
// @grant none
// @match http://*.metafilter.com/*
// @match https://*.metafilter.com/*
// @description On MetaFilter.com, adds a "comment 1 of 30" to each comment.
// @locale en-us
// @namespace https://greasyfork.org/users/324881
// ==/UserScript==
function addCountToComments() {
// first, clear all counts in case this runs more than once on a page.
let allCommentCountSpans = document.getElementsByClassName('tehhundUserScriptCommentCount');
for (currentSpan of allCommentCountSpans) {
currentSpan.remove();
}
// then add counts to every comment div.
let allCommentDivs = document.getElementsByClassName('comments');
allCommentDivs = Array.from(allCommentDivs).filter( function(div) {
return div.previousSibling.tagName == 'A';
});
console.log(typeof allCommentDivs);
let index = 0;
for (let divToHighlight of allCommentDivs) {
index += 1;
divToHighlight.lastChild.innerHTML += '<span class=\'tehhundUserScriptCommentCount\'>Comment ' + index + ' of ' + allCommentDivs.length + '</span>';
}
}
// Attach event listeners
addCountToComments(); // In case this script runs after the window load event, highlight as soon as Greasemonkey runs the script.
window.addEventListener('load',addCountToComments); // In case this script runs before the window load event, highlight when that event fires.