var id = 'test';
var dom = $('#loader').clone().load("Views/chatBox.html");
dom.find('span.bn').text(id);
在chatBox.html中,有:
...
<span class="bn">AAA</span>
...
我想用“test”替换“AAA”,但是失败了(dom.find无法获取它),这意味着它不能立即可用。
如何正确地做到这一点?
最佳答案
如果你打算处理返回的元素,你应该在回调函数上进行,这是因为 HTML 的检索是异步完成的,回调函数在请求结束并且元素被注入(inject)时执行DOM:
var id = 'test';
$('#loader').load("Views/chatBox.html", function () {
$('span.bn', this).text(id);
});
另请注意,在您的示例中,您是 clonning #loader 元素,并且克隆的元素尚未在 DOM 中,您必须插入它,但我不确定您是否真的想要克隆该元素...
关于jquery - 使用 jQuery $.load() 后不在 DOM 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1409332/