jquery checkbox 全选反选代码只好执行一遍,第二次就失败

jquery checkbox 全选反选代码只能执行一遍,第二次就失败
$(".chooseall").click(function(){
    if($(".chooseall").attr("checked") == "checked"){
$("input[name='checkbox1']").removeAttr("checked","checked");
       console.log(1);
    }else{
 $("input[name='checkbox1']").attr("checked","checked");
        console.log(2);
    }
});

jquery checkbox 全选反选代码只好执行一遍,第二次就失败
上面的这个代码第一次点击和第二次点击,能实现全选和反选功能,但一遍之后就不再起作用,这是什么情况啊?
除了第一个checkbox之外,其余的都是ajax动态生成的,跟这个有关系么?console.log每次点击的都能交替输出1和2,但就是中间的代码不能执行。
------解决思路----------------------

$(".chooseall").click(function(event){
$("input[name='checkbox1']").prop("checked",this.checked);
});


------解决思路----------------------
有一种可能。。  代码是动态生成的  可能存在时间差。。  所以  JS试试用计时器延时正反选代码的运行   可以排除是不是动态代码的时间差导致的问题, (其实个人认为还是代码问题)

checkbox 正反选 只要操作checked属性就好了  
checkbox1.attr('checked','checked')
checkbox1.remove('checked');
楼主可以试试

顺带顶下1楼
------解决思路----------------------

//动态加载的元素要用live或者bund等函数来处。
$(".chooseall").live('click',function(){
    $(':checkbox[name=checkbox1]').prop('checked',this.checked);
});

------解决思路----------------------
引用:

//动态加载的元素要用live或者bund等函数来处。
$(".chooseall").live('click',function(){
    $(':checkbox[name=checkbox1]').prop('checked',this.checked);
});


噢噢,看错了,动态生成的是下边的数据,这里可以不用live函数。