Live Node List / Selector

HTML

<div id="count"></div>

<ul>
    <li>An element...</li>
</ul>

<a href="#" onclick="test.addElement();">Add Element</a>

JavaScript

var test = {};
    
    // Update count of elements
    test.updateCount = function(){
        test.count.innerHTML = "static jquery: <b>"+test.jQ.length+"</b> elem(s) vs. live js: <b>"+test.els.length+"</b> elem(s)";
        setTimeout(function(){ test.updateCount(); }, 100);
    };
    
    // Add new element
    test.addElement = function(){
       var li = document.createElement('li');
       li.innerHTML = "Another element...";
       test.ul.appendChild(li);
    };
    
    // Setup variables
    test.count = document.getElementById('count');
    test.els = document.getElementsByTagName('li');
    test.jQ = $('li');
    test.ul = document.getElementsByTagName('ul')[0];
    
    // Expose to window
    window.test = test;
    
    // Run
    test.updateCount();