2012-05-29 41 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'); 
}