WikiHow Free Expert Answers

Paying for wikiHow "expert answers"? No way!

// ==UserScript==
// @name         WikiHow Free Expert Answers
// @namespace    http://tampermonkey.net/
// @version      0.1.1
// @description  Paying for wikiHow "expert answers"? No way!
// @author       ae2Q
// @match        https://www.wikihow.com/*
// @grant        none
// ==/UserScript==

(function() {
    "use strict";

    // Variables that describe the classes that must be modified to make the code prettier and shorter.
    var sac = "qa_answer answer qa_obscured_answer qa_obscured_answer_purchase",
        oc = "qa_obscured_prompt";

    var o=document.getElementsByClassName(oc).length, // The "pls support us to unlock these expert answers" overlays.
        sa=document.getElementsByClassName(sac).length, // The amount of obscured answers.
        x=sa+o; // This is a fail-safe variable.

    if(o>0){for(;x>1;){
            x=document.getElementsByClassName(sac).length+document.getElementsByClassName(oc).length;

            for(var j=0;j<document.getElementsByClassName(sac).length;j++){ // Unblur the answers.
                document.getElementsByClassName(sac)[j].className="qa_answer answer"
            }

            for(var i=0;i<document.getElementsByClassName(oc).length;i++){ // Remove the overlays.
                document.getElementsByClassName(oc)[i].parentNode.removeChild(document.getElementsByClassName(oc)[i])
            }
        }
        // Remove the text that lets you know you can 'unlock premium answers'.
        document.getElementsByClassName("qa_obscured_cta")[0].parentNode.removeChild(document.getElementsByClassName("qa_obscured_cta")[0])

        // Let the user know that their answers have been unobscured.
        document.getElementById("qa").innerHTML=
            "<p><b>Removed "+o+" overlays and unblurred "+sa+" answers.</b></p>"+document.getElementById("qa").innerHTML;
        console.log("Removed "+o+" overlays and unblurred "+sa+" answers")
    }
})();