JSFiddle - React, Tailwind, and code Playground

by acdcjunior

HTML

<div id="all">
    <div id="testA">A</div> <div id="testE">E</div> <div id="testF">F</div> <div id="testG">G</div>
    <div id="testX">X</div>
    <div id="testH">H</div>
    <div id="testM">M1</div><div id="testM">M2</div><div id="testM">M3</div>
</div>

JavaScript

function removeIdOfAllElementsWithId(id) {
    var element, elementsFound = [];
    while ((element = document.getElementById(id)) !== null) {
        element.removeAttribute('id')
        elementsFound.push(element);
    }
    return elementsFound;
}
function assignIdToElements(elements, id) {
    for (var i = 0, n = elements.length; i < n; i++) { elements[i].id = id; }
}
var isDefinedEval = '(' +
    function (isDefinedEvalVarname) {
        var isDefinedEvalResult;
        var isDefinedEvalElementsFound = removeIdOfAllElementsWithId(isDefinedEvalVarname);
        try {
            // the eval() throws an exception if isDefinedEvalVarname is declared in the scope
            isDefinedEvalResult = eval('typeof '+isDefinedEvalVarname+' !== "undefined"');
        } catch (e) {
            isDefinedEvalResult = false;
        }
        assignIdToElements(isDefinedEvalElementsFound, isDefinedEvalVarname);
        return isDefinedEvalResult;
    }
+ ')';


/******************************************************************************************************************
 * ASSERTS BELOW
 */

// saving current HTML to make sure nothing changes by using the function
var allHtml = document.getElementById('all').outerHTML;

console.assert(eval(isDefinedEval + '("' + 'testA' + '")' ) === false, 'testA: div exists, but not var     AND     no var name or div name is used again in the code');

console.assert(eval(isDefinedEval + '("' + 'testE' + '")' ) === false, 'testE: div exists, but not var     AND     the variable is used below, but through eval()');

eval('var testE = 123');
console.assert(eval(isDefinedEval + '("' + 'testE' + '")' ) === true, 'testE: var is now defined (through eval())');

console.assert(eval(isDefinedEval + '("' + 'testF' + '")' ) === false, 'testF: div exists    AND   var will be set (globally) at function -> var does not yet exist (only div exists)');

function isIE () {
	var myNav = navigator.userAgent.toLowerCase();
	return (myNav.indexOf('msie')...