align, onwaiting, onvolumechange, ontimeupdate, onsuspend, onsubmit, onstalled, onshow, onselect,
onseeking, onseeked, onscroll, onresize, onreset, onratechange, onprogress, onplaying, onplay,
onpause, onmousewheel, onmouseup, onmouseover, onmouseout, onmousemove, onmouseleave, onmouseenter,
onmousedown, onloadstart, onloadedmetadata, onloadeddata, onload, onkeyup, onkeypress, onkeydown,
oninvalid, oninput, onfocus, onerror, onended, onemptied, ondurationchange, ondrop, ondragstart,
ondragover, ondragleave, ondragenter, ondragend, ondrag, ondblclick, oncuechange, oncontextmenu,
onclose, onclick, onchange, oncanplaythrough, oncanplay, oncancel, onblur, onabort, spellcheck,
isContentEditable, contentEditable, outerText, innerText, accessKey, hidden, webkitdropzone,
draggable, tabIndex, dir, translate, lang, title, childElementCount, lastElementChild,
firstElementChild, children, nextElementSibling, previousElementSibling, onwheel,
onwebkitfullscreenerror, onwebkitfullscreenchange, onselectstart, onsearch, onpaste, oncut, oncopy,
onbeforepaste, onbeforecut, onbeforecopy, webkitShadowRoot, dataset, classList, className,
outerHTML, innerHTML, scrollHeight, scrollWidth, scrollTop, scrollLeft, clientHeight, clientWidth,
clientTop, clientLeft, offsetParent, offsetHeight, offsetWidth, offsetTop, offsetLeft, localName,
prefix, namespaceURI, id, style, attributes, tagName, parentElement, textContent, baseURI,
Rafał Pocztarski
document.createElement(‘div’)
If you’ve done any optimization of JS apps, you probably heard that the DOM is slow. Rafal on
Stack Exchange made a very good illustration. If you enumerate all the attributes of an empty div,
you are going to see a —lot— of them!