$(document).ready(function() {
                   $("[name='all'").click(function  () {
                                $("[name='item']").prop("checked",this.checked);//此处this为dom对象,不能用jquery对象$(this)
                          });
				$("#selectAll").click(function  () {
					$("[name='item']").attr("checked",true);
				});
				$("#unSelectAll").click(function  () {
					$("[name='item']").attr("checked",false);
				});
			});

 使用attr()方法改变checkbox的选中状态,在运行后第一次点击时改变。但如果再点击就无效了。

正确的方法是把attr()方法换成prop即可解决问题。

大牛说:“attr不可以对元素的特性做修改,但是prop可以,将prop替换attr就可以了!”