2009-09-11 24 views
5
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」與「測試」,但失敗了(dom.find不能取它),它是不可用這意味着即刻。

如何以正確的方式做到這一點?

+0

嘗試使用firefox中的firefox,看看是否發出任何錯誤。 – yoda 2009-09-11 06:47:07

+0

沒有錯誤,當$ .find找不到任何東西時,它就會繼續。 – omg 2009-09-11 06:48:45

回答

16

如果您打算使用返回的元素,您應該在回調函數中執行此操作,這是因爲檢索HTML是異步完成的,並且在請求結束並注入元素時執行回調函數到DOM:

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

另外請注意,在你的榜樣,你是clonning的#loader元素,克隆元素不在DOM的是,你將不得不插入,但我不知道如果你真的想克隆元素...

+0

你和上帝一樣聰明! – omg 2009-09-11 06:50:53