Jquery加载然后编辑加载的内容

我正在使用Jquery加载,然后一旦内容加载到div我想要将一些标记更改为语言相关变量。

我的问题是我必须使用settimeout让脚本等待足够长的时间才能让元素准备好编辑。

当我使用回调函数参数时,我想要编辑的元素显然没有准备好,因为它们没有被设置。 我讨厌使用settimeout,因为这会将每个人限制在最慢的设置,并且总是某些连接会比这更慢。

显然回调方法只是意味着ajax方法得到了html,但它并不能确保导入的元素在dom中实际就绪。

有人有想法吗?

当前代码

$("#content-basket").load("/BasketPage.htm?time=" + now.getMilliseconds()); ... ... setTimeout("timedbasket();", 500); ... ... function timedbasket() { alert($('#basketlegend')); $('#basketlegend').html(basketlabel); } 

我想能够使用

 $("#content-basket").load("/BasketPage.htm?time=" + now.getMilliseconds(), "", timedbasket()); 

这是basket.htm源码

   

使用callback参数进行加载并将代码放入回调中。

 $("#content-basket").load("/BasketPage.htm?time=" + now.getMilliseconds(),null, function() { ...do stuff here after #content-basket is finished loading... }); 

在查看jQuery之后,确实看起来响应是在调用任何回调之前注入的,因此应该更新DOM。 您是否有可能重新使用可能引用之前存在的DOM元素但被负载替换的jQuery对象?

jQuery.live就是答案。 以这种方式将您的事件绑定到DOM元素,甚至新的事件都会受到影响。