1

我的问题是,在包含由我的 jQuery 代码操作的元素的 div 被 ajax 重新加载后,我的 jQuery 内容无法正常工作。jQuery .live 函数帮助我发现至少我的所有事件都被触发了。但是 .text() 之类的功能仍然无法正常工作。例如

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

有没有人建议如何处理这个问题?

编辑:问题是我正在处理的网站在单击导航项时使用 ajax 加载其页面内容。第一次访问网站时,所有 jQuery 功能都可以使用。然而,在第二次重新加载 DOM 时,jQuery 仍然使用原始 DOM,因此 .text() 之类的方法不再显示更改。如上所述,.live() 方法帮助我至少在第二次调用特定页面后仍会触发事件。

4

1 回答 1

0

这样做的唯一方法是确保您的代码在 ajax 重新加载后执行。一种常见的方法是创建一个 init() 函数,该函数从 ajax 回调函数中调用。

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

function initStuff(){
  $('#idOfElementBeingInDivWhichIsReloadedByAjax').text('New text');
}
于 2012-05-29T10:18:39.223 回答