Skip to content

Instantly share code, notes, and snippets.

@joaotanaca
Created July 12, 2022 13:12
Show Gist options
  • Save joaotanaca/6d59ec35f53e8d71c4fdd08c47f7266e to your computer and use it in GitHub Desktop.
Save joaotanaca/6d59ec35f53e8d71c4fdd08c47f7266e to your computer and use it in GitHub Desktop.
Função para criação de elementos com envio de propriedades no momento da criação
/**
*
* @template {keyof HTMLElementTagNameMap} K
* @param {K} elementTag
* @param {HTMLElementTagNameMap[K]} options
* @returns {HTMLElementTagNameMap[K]}
*/
export function createElement(elementTag, options = {}) {
const element = document.createElement(elementTag);
Object.entries(options).forEach(([key, value]) => {
if (typeof element[key] === "function" && key.slice(0, 1) !== "on") {
element[key](value);
} else {
element[key] = value;
}
});
return element;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment