Question

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

dans chatBox.html, il y a:

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

Je souhaite remplacer "AAA". avec "test" mais échoué (dom.find ne peut pas le récupérer), ce qui signifie qu'il n'est pas disponible instantanément.

Comment le faire correctement?

Était-ce utile?

La solution

Si vous avez l'intention de travailler avec les éléments renvoyés, vous devez le faire avec la fonction de rappel, car l'extraction du code HTML est effectuée de manière asynchrone et la fonction de rappel s'exécute à la fin de la demande et de l'injection des éléments. le DOM:

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

Notez également que dans votre exemple, vous clonez l'élément #loader et le cloné. Si l'élément n'est pas encore dans le DOM, vous devrez l'insérer, mais je ne sais pas si vous voulez vraiment cloner l'élément ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top