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

102
Visualizações
Mejores prácticas para crear múltiples bloques HTML dinámicamente

Para contexto: mi aplicación tiene un programador y quiero mostrar múltiples bloques de citas (por ejemplo, un div como una imagen, texto y un botón para niños), pero esta pregunta también puede ser aplicable para, digamos, catálogos de productos. ¿Cuál es la mejor práctica para construir el contenido HTML para esos bloques?

En mi búsqueda encontré múltiples opciones, por ejemplo (con pseudocódigo)

Construir línea por línea en jQuery

 $('<div />').append($('<img />')).append($('<p />').append($('<button />'));

Personalmente, encontré que esta opción se vuelve bastante fea una vez que el bloque contiene más de 3 a 5 elementos, porque el código comenzó a abarcar más de una página completa de desplazamiento y se volvió ilegible (pero esto también podría deberse a mis malas habilidades de codificación).

Recuperar página HTML a través de Ajax/Load

 <div> <img><p></p><button></button> </div>
 $("target").load("page.php"); or $.ajax({ url: "page.php", success: function (response) { $("target").append(response); });

En el lado positivo, esto separa el contenido, lo que reduce el tiempo inicial de carga de la página y el contenido se puede crear en el lado del servidor justo antes de que sea necesario. devolución (prácticamente sin envío de datos de ida y vuelta). Aunque esto puede parecer insignificante al final, todos los pequeños retrasos se suman y pueden afectar la experiencia del usuario.

Clonar plantillas

 <template> <div> <img><p></p><button></button> </div> </template>
 const template = document.querySelector("template"); var tgt = document.getElementById("target"); node = document.importNode(template.content, true); tgt.appendChild(node);

En el lado positivo, esta opción es aproximadamente 10-20 veces más rápida que la primera opción (compilación a través de jQuery), pero eso solo se notará después de ~ 1000 bloques, lo que supera con creces mi caso de uso. En el lado negativo, esto 'contamina' el código HTML de la página y, de todos modos, se requiere el procesamiento del contenido en el objeto a través de JS.

¿Qué otras opciones viables existen? ¿Y cuál es la mejor práctica para este caso de uso?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Dado que no está utilizando el enfoque SPA (un ejemplo que explica eso: con angular ). La mejor opción (más limpia/más rápida) (en mi opinión) es renderizar completamente los bloques desde el lado del servidor (aparentemente estás usando PHP). Lo que significa que tendrá un archivo que define una estructura de bloque único de una cita 'cita.php' que contiene la plantilla + lógica de representación, este resultado 'cita.php' (después de la representación) entonces llamará (bucle) en la página en la que lo necesites, tantas veces como quieras y con los parámetros que quieras, para cada instancia de la lista de citas que tengas

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