Frage

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

in chatBox.html gibt es:

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

ich will „AAA“ mit „test“ ersetzen, scheiterte aber (dom.find es nicht abrufen kann), was bedeutet, es nicht sofort verfügbar ist.

Wie es den richtigen Weg zu tun?

War es hilfreich?

Lösung

Wenn Sie beabsichtigen, mit den zurückgegebenen Elementen zu arbeiten, können Sie es auf der Callback-Funktion tun sollte, ist, dass, weil das Abrufen des HTML asynchron durchgeführt wird, und die Callback-Funktion wird ausgeführt, wenn die Anforderung beendet ist und die Elemente zu injizierenden das DOM:

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

Beachten Sie, dass in Ihrem Beispiel, Sie waren clonning das #loader Element, und das geklonte Element ist nicht in dem DOM noch, können Sie es einfügen müssen, aber ich bin nicht sicher, ob Sie wirklich wollen, um das Element zu klonen ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top