Query set of DOM elements by tag name

from jquery ninja book

by dandoyon

HTML

<ul id="results"></ul>

CSS

#results li.pass { color: green; }
#results li.fail { color: red; }

JavaScript

function assert(value, desc) {
    var li = document.createElement("li");
    li.className = value ? "pass" : "fail";
    li.appendChild(document.createTextNode(desc));
    document.getElementById("results").appendChild(li);
}

function getElements(name) {
    if (!getElements.cache) {
        getElements.cache = { };
    }
    return getElements.cache[name] = 
        getElements.cache[name] || document.getElementsByTagName(name);
}

assert(getElements("ul").length === 1, "found the one ul");
assert(getElements.cache["ul"], "The answer was cached!");