2012-05-29 69 views
1

我有問題,我的jQuery的東西不工作後,其中包括由我的jQuery代碼操縱的元素的div由ajax重新加載。 jQuery .live函數幫助我至少引發了所有事件。然而像.text()這樣的函數仍然不起作用。例如。jQuery .live() - 其他jQuery方法的功能,如.text()

$('#idOfElementBeingInDivWhichIsReloadedByAjax').text('New text'); 

有沒有人建議如何應對這個問題?

編輯:問題是,我正在處理的網站在點擊導航項時加載了帶有ajax的頁面內容。當網站第一次被訪問時,所有的jQuery功能都能正常工作。但是,第二次重新加載DOM並且jQuery仍使用原始DOM,因此諸如.text()的方法不再顯示更改。如上所述,.live()方法幫助我至少在第二次調用特定頁面後觸發事件。

+0

需要更多的上下文,請問更多的代碼?至少你的ajax的回調方法調用 –

+0

什麼是idOfElementBeingInDivWhichIsReloadedByAjax的類型? – Adil

+0

適當時,您可以簡單地在ajax回調中運行該代碼(當然不一定在回調函數中)。只有事件需要「活」...實現「活」與追蹤新元素在創建時無關,如果您希望其他方法像「活」一樣,您需要做的就是「 .text'。 – Esailija

回答

0

執行此操作的唯一方法是確保您的代碼在ajax重新加載後執行。常用的方法是創建一個init()函數,這些函數是從ajax回調函數中調用的。

$(function(){ 
    $('#myParentAjaxDiv').load('somepage.html', function(){ 
    initStuff(); 
    }); 
}); 

function initStuff(){ 
    $('#idOfElementBeingInDivWhichIsReloadedByAjax').text('New text'); 
}