Да тут все просто
function F(node) {
this.node = node;
}
F.prototype = {
append: function(arg) {
return new F(this.node.appendChild(typeof arg == "string" ? document.createElement(arg) : arg));
},
text: function(str) {
if(typeof str == "undefined") return this.node.innerText || this.node.textContent;
this.node.innerHTML = "";
this.node.appendChild(document.createTextNode(str));
return this;
}
};
function dom(arg) {
return new F(typeof arg == "string" ? document.getElementById(arg) : arg);
}
Не могу не прорекламировать в этой теме
Цепочки вызовов в JavaScript-фреймворке js-core