你 ul1 中的内容是后来加进去的,需要重新绑定
即在 success:function(d){ 最后执行一遍该代码

解决方案 »

  1.   

    应该是需要重新绑定的。一楼正解。
    http://blog.mn886.net/chenjianhua
      

  2.   

    $(document).ready(function(){
    $(".btn").click(function(){
    $.ajax({
    type:'post',
    url:'getNews.php',
    dataType:'json',
    success:function(d){

    var html='';
    for(var i=0; i<d.length;i++){
    html+='<li><a href="">'+d[i].title+'</a>[<span>'+d[i].date+'</span>]</li>'
    }
    $("#ul1").html(html);
    $("#ul1 a:first").addClass('active');
    $("#ul1 a").click(function(){
    $("#ul1 a").removeClass("active");
    $(this).addClass('active');
    $(".btn").html($(this).html());
    $("#ul1").hide();
    $(".btn").show();
    })
    }
    })
    $(".btn").hide();
    $("#ul1").show();
    })

    });这样替换的值会马上变回去 是怎么回事啊
      

  3.   

    是吗?不应该的
    不行你就在外面用 on 绑定我还是喜欢用 jquery 1.8.3
    live 方法虽说效率低些,和我有什么关系?
    我只要写起来简单就好