Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function ce(type, attributes, ...content) {
- const result = document.createElement(type);
- Object.entries(attributes || {})
- .forEach(([attribute, value]) => {
- if (isEventListener(attribute)) {
- result.addEventListener(attribute.substring(2).toLocaleLowerCase(), value);
- } else {
- result[attribute] = value;
- }
- });
- content = content.reduce((a, c) => a.concat(Array.isArray(c) ? c : [c]), []);
- content.forEach(e => {
- if (isElement(e)) {
- result.appendChild(e);
- } else {
- const node = document.createTextNode(e);
- result.appendChild(node);
- }
- });
- return result;
- function isEventListener(attr) {
- return attr.substring(0, 2).localeCompare('on') === 0;
- }
- function isElement(element) {
- return typeof element != 'string' && typeof element != 'number';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement