Skip to content

Instantly share code, notes, and snippets.

@npup
Created October 31, 2013 14:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save npup/7250766 to your computer and use it in GitHub Desktop.
Save npup/7250766 to your computer and use it in GitHub Desktop.
Minimal element factory and DOM appender
var E = (function () {
var global = this, doc = global.document;
function isArray(obj) {return "[object Array]"=={}.toString.call(obj);}
return {
"create": function (tag, attrs) {
var elem = doc.createElement(tag);
for (var attr in attrs) {
if ("html" == attr) {elem.innerHTML = attrs.html;}
else if ("class" == attr) {elem.className = attr;}
else {elem.setAttribute(attr, attrs[attr]);}
}
return elem;
}
, "append": function (elems, parent) {
isArray(elems) || (elems = [elems]);
parent || (parent = doc.body);
for (var idx=0, len=elems.length; idx<len; ++idx) {parent.appendChild(elems[idx]);}
return parent;
}
};
})();
E.append(
[
E.create("h1", {"html": "Hey foo sister!!"})
, E.create("p", {"html": "Buy more bar"})
]
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment