Pregunta

var id = 'test';
var dom = $('#loader').clone().load("Views/chatBox.html");
dom.find('span.bn').text(id);

en chatBox.html, hay:

...
<span class="bn">AAA</span>
...

Quiero reemplazar " AAA " con " prueba " pero falló (dom.find no puede recuperarlo), lo que significa que no está disponible al instante.

¿Cómo hacerlo de la manera correcta?

¿Fue útil?

Solución

Si pretende trabajar con los elementos devueltos, debe hacerlo en la función de devolución de llamada, es decir, la recuperación del HTML se realiza de forma asíncrona, y la función de devolución de llamada se ejecuta cuando la solicitud ha finalizado y los elementos se inyectan a el DOM:

var id = 'test';
$('#loader').load("Views/chatBox.html", function () {
  $('span.bn', this).text(id);
});

También tenga en cuenta que en su ejemplo, fue clonación el elemento #loader y el clonado El elemento aún no está en el DOM, tendrá que insertarlo, pero no estoy seguro de si realmente desea clonar el elemento ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top