本帖最后由 shilc111 于 2011-01-24 15:03:27 编辑

解决方案 »

  1.   

    $(function(){
    $("#List li a").click(function(){
    $("#List li a").removeClass("active"); 
    $(this).addClass("active");
    });
      })放到
    ajax返回后执行才可以放到这里
      

  2.   

    我调整过很多次的,还是不管用啊,都已经放在</body>后面了还是不管用
      

  3.   

    我已经把ShowCalendar("Week");的位置向前提了,挪到
    $(function(){
    $("#List li a").click(function(){
    $("#List li a").removeClass("active");  
    $(this).addClass("active");
    });
      })
    前面了,还是不执行click
      

  4.   

    调整了new.html
    ShowCalendar(Type);
      
    $(function(){
    $("#List li a").click(function(){
      $("#List li a").removeClass("active");
      $(this).addClass("active");
    });
    })
    </head>
    <body>
    <div id="calendar"><!--Ajax插入点--></div>
    </body>
    <script>
    alert($("#List li a"))
    </script>
    </html>
    红色部分很关键,只要alert一下,就会执行click,注释以后就不执行,我总感觉我什么地方错了,或者click绑定错了,可是就是不知错在哪里?
      

  5.   

    先看下源码,这个ul 的id是不是#List。如果不是,肯定找不到,找不到 自然实现不了你想要的效果
    其次看下源码中 会不会出现ID重复了,如果重复了,也会找不到 
    建议你从DIV开始往里 找,这样的话,不会错..
    还有就是这样个地方那个的click 可以改写成  $(this).addClass(active'').siblings().removeClass('active');  这样可读性好点,其次也减少了代码量
      

  6.   

     貌似没有执行ShowCalendar("Week");
    把它放到$(function(){})里。
      

  7.   

    ajax进来的不可以用click 你可以用$(dom).live('click',function(){alert('alert');});
      

  8.   

    8L说的对
    用live方法绑定
    因为你用了html()方法
    改变了页面的dom结构
    所以给之前的那个click绑定的元素因为html而不存在了
    要么你用live绑定
    要么html()后重新绑定一次click
    建议用live
      

  9.   

    jQuery 1.3中新增的方法。给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件)。也能绑定自定义事件。
    目前支持 click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。 
    还不支持 blur, focus, mouseenter, mouseleave, change, submit 
    与bind()不同的是,live()一次只能绑定一个事件。
      

  10.   

    问题解决了,要把$("#List li a").click(function()
    放到$("#calendar").html(ttext);后面,插入新的元素以后再绑定,谢谢大家帮忙