Advertisement
didkoslawow

Untitled

Jun 16th, 2023
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function createElement(tagName, textContent, attributes, children = []) {
  2.      const element = document.createElement(tagName);
  3.      const PARAMS = {
  4.          id: (value) => (element.id = value),
  5.          class: (value) => element.classList.add(value),
  6.          styles: (styles) => styles.forEach(([s, v]) => (element.style[s] = v)),
  7.          onclick: (value) => element.addEventListener('click', value),
  8.          type: (value) => element.setAttribute('type', value),
  9.          name: (value) => element.setAttribute('name', value),
  10.          value: (value) => element.setAttribute('value', value),
  11.          placeholder: (value) => element.setAttribute('placeholder', value),
  12.          alt: (value) => element.setAttribute('alt', value),
  13.          width: (value) => element.setAttribute('width', value),
  14.          height: (value) => element.setAttribute('height', value),
  15.          colspan: (value) => element.setAttribute('colspan', value),
  16.          disabled: () => element.setAttribute('disabled', ''),
  17.          src: (value) => element.setAttribute('src', value),
  18.      };
  19.  
  20.      if (textContent) {
  21.          element.textContent = textContent;
  22.      }
  23.  
  24.      if (attributes) {
  25.          Object.entries(attributes).forEach(([param, value]) => PARAMS[param](value));
  26.      }
  27.  
  28.      if (children.length == 0) {
  29.          return element;
  30.      }
  31.  
  32.      children.forEach((c) => element.appendChild(c));
  33.  
  34.      return element;
  35.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement