@anywhichway/nerd-editor
Version:
A JavaScript rich text editor based on and with support for custom elements.
28 lines (27 loc) • 845 B
JavaScript
const createElement = ({tagName,attributes={},innerHTML="",innerText=""}) => {
const el = document.createElement(tagName);
Object.entries(attributes).forEach(([key,value]) => {
const type = typeof(value);
if(value && type==="object") {
if(key==="style") {
Object.entries(value).forEach(([key,value]) => {
el.style[key] = value+"";
});
return
}
try {
value = JSON.stringify(value)
} catch(err) {
value = err.message;
}
}
el.setAttribute(key,value);
})
if(innerHTML) {
el.innerHTML = innerHTML;
} else if (innerText) {
el.innerText = innerText;
}
return el;
}
export {createElement};