2011-01-29 48 views
0

我刚开始在jQuery和PHP中使用Ajax。我有一个工作代码(下面),它将一些HTML代码插入HTML容器(div称为nav sub)。jQuery Ajax不记得生成的代码?

下一次我尝试在我生成的HTML上运行一个类似于下面的代码的代码时,jQuery似乎找不到它。我猜它不会在它被添加时自我更新。

$(".nav.top a").click(function(){ 
    var a_class = $(this).parent().attr("class"); 

    $(".nav.sub").html("loading..."); 
    $(".nav.sub").load("<?php echo get_bloginfo('url'); ?>/?addmod_ajax=1",{button: a_class}); 
    return false; 
}); 

假设生成的代码如下所示:

<div class="nav sub"> 
    <a href="#">My new generated button, forgotten by jQuery?</a> 
</div> 

而新的容器看起来是这样的:

<div class="settings"><?php # AJAX ?></div> 

它是某种方式使用jQuery和Ajax的HTML代码用jQuery生成?

回答

0

我想通了。解决方案是使用“live”。

$('.nav.top a').live('click', function() { 
    var a_class = $(this).parent().attr("class"); 

    $(".nav.sub").html("loading..."); 
    $(".nav.sub").load("<?php echo get_bloginfo('url'); ?>/?addmod_ajax=1",{button: a_class}); 
    return false; 
});