Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

93
Visualizações
¿Cómo puedo crear una función que cree cualquier elemento html con cualquier tipo de atributos?

Quiero crear un método que admita un tipo de elemento y cualquier cantidad de tipos de atributos. Por ejemplo,

 createElement('div', {class: 'test-class', id: 'testId'})

o

 createElement('input', {class: 'test-class', id: 'myInput', type: 'button', onclick: 'console.log('hello world')'})

Esto es lo que tengo hasta ahora, pero me preguntaba si hay una mejor manera de hacerlo.

 function create(elementType, ...args) { const element = document.createElement(elementType); const [elementProps] = args; const { className, id, innerText, type, name, value, eventType, eventAction, } = elementProps[0]; for (let prop in elementProps[0]) { if (typeof prop !== 'undefined') { element.className = className; element.id = id; element.innerText = innerText; element.type = type; element.name = name; element.value = value; element.addEventListener(eventType, eventAction, false); } } return element; }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

 function cEl(elementType, ...args) { const element = document.createElement(elementType); const elementProps = args[0]; for (const [key, value] of Object.entries(elementProps)) { if (typeof value != 'undefined') { if (key.indexOf('listener') == 0) { // Assume this is an event. element.addEventListener(key.substr(8), value, false); } else { element.setAttribute(key, value); } } } return element; } var el = cEl('input', { class: 'test-class', id: 'myInput', type: 'button', listenerclick: function(){console.log("hello world");} // Not a script but an actual function. }); document.getElementById('d').append(el);
 <div id="d"></div>

Al eliminar la lista de atributos, la función ahora acepta cualquier cadena como atributo. dado que "on" puede aparecer en otros atributos, en este ejemplo lo he cambiado a un identificador más único.

En cuanto a la función en sí, depende de usted. Puede definir una función completa o un nombre de función. Simplemente no lo escriba como texto e intente convertirlo más tarde en código. Trate de evitar esto si puede.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda