Domanda

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

in chatBox.html, c'è:

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

Voglio sostituire " AAA " con "test", ma non riuscito (dom.find non è in grado di recuperarlo), il che significa che non è immediatamente disponibile.

Come farlo nel modo giusto?

È stato utile?

Soluzione

Se hai intenzione di lavorare con gli elementi restituiti, dovresti farlo sulla funzione di callback, questo perché il recupero dell'HTML è fatto in modo asincrono e la funzione di callback viene eseguita quando la richiesta è terminata e gli elementi vengono iniettati il DOM:

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

Nota anche che nel tuo esempio eri clonning l'elemento #loader e il clonato L'elemento non è ancora nel DOM, dovrai inserirlo, ma non sono sicuro che tu voglia davvero clonare l'elemento ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top