سؤال

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

في chatBox.html، هناك:

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

أريد استبدال "AAA" بكلمة "test"، لكني فشلت (يتعذر على dom.find جلبه)، مما يعني أنه غير متاح على الفور.

كيف نفعل ذلك بالطريقة الصحيحة؟

هل كانت مفيدة؟

المحلول

إذا كنت تنوي العمل مع العناصر التي تم إرجاعها، فيجب عليك القيام بذلك من خلال وظيفة رد الاتصال، وذلك لأن استرداد HTML يتم بشكل غير متزامن، ويتم تنفيذ وظيفة رد الاتصال عند انتهاء الطلب وإدخال العناصر في DOM:

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

لاحظ أيضًا أنه في المثال الخاص بك، كنت كذلك استنساخ عنصر #loader، والعنصر المستنسخ ليس موجودًا في DOM بعد، سيتعين عليك إدراجه، لكنني لست متأكدًا مما إذا كنت تريد حقًا استنساخ العنصر ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top