Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

120
Vistas
¿Cómo manipular el elemento Plantilla con JQuery?

Estoy tratando de manipular dentro del elemento <template> con jQuery, pero desafortunadamente algunas funciones como find() no funcionan para elementos secundarios.

¿Cómo puedo reemplazar el texto de la clase .name de esta plantilla y agregarlo dentro de otro elemento html?

 <template id="conversationTemplate"> <div class="card conversation mb-1"> <div class="name">##name##</div> </div> </template>
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Una solución simple que tenemos aquí usando solo JQuery. Cuatro líneas, pero con unos pocos pasos podemos hacerlo singleliner para los que lo prefieran.

 $(() => { const $templateTag = $('#conversationTemplate'); const $clonedContent = $($('#conversationTemplate').html()); $clonedContent.find('.name').html('other text here'); $templateTag.wrap('<template id="conversationTemplate"></div>').parent().html($clonedContent); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <template id="conversationTemplate"> <div class="card conversation mb-1"> <div class="name">##name##</div> </div> </template>

about 4 years ago · Juan Pablo Isaza Denunciar

0

No puede usar las funciones del selector de jQuery directamente en una plantilla. Necesitas analizar esto primero.

 var tpl = $('#conversationTemplate')[0].outerHTML; $template = $($.parseXML(tpl)).contents(); console.log($template.find('.name').html());
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <template id="conversationTemplate"> <div class="card conversation mb-1"> <div class="name">##name##</div> </div> </template>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede hacer esto en jQuery pero no es necesario. Esto es javascript simple que también funcionará.

 var template = document.getElementById('conversationTemplate'); var html = template.innerHTML.replace('##name##', 'Jane'); var target = document.getElementById('the-other-element-you-mention'); target.innerHTML = html;

Hace dos cosas que pediste:

  1. Obtiene la plantilla HTML y reemplaza el nombre.
  2. Actualiza otro elemento con este nuevo HTML.
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda