1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title></title> 6 <script src="js/jquery-1.9.1.js" type="text/javascript"></script> 7 <script type="text/javascript"> 8 $(function () { 9 $("#selAll").click(function () {//全选 10 $("#playlist :checkbox").attr("checked", true); 11 }); 12 $("#unselAll").click(function () {//全不选 13 $("#playlist :checkbox").attr("checked", false); 14 }); 15 $("#reverse").click(function () {//反选 16 $("#playlist :checkbox").each(function () { 17 $(this).attr("checked", !$(this).attr("checked")) 18 //=====〉为什么我在浏览器中不能执行反选 19 }); 20 }); 21 }); 22 </script> 23 </head> 24 <body> 25 <div id="playlist"> 26 <input type="checkbox" />歌曲1<br /> 27 <input type="checkbox" />歌曲2<br /> 28 <input type="checkbox" />歌曲3<br /> 29 <input type="checkbox" />歌曲4<br /> 30 <input type="checkbox" />歌曲5<br /> 31 </div> 32 <input type="button" value="全选" id="selAll" /> 33 <input type="button" value="全不选" id="unselAll" /> 34 <input type="button" value="反选" id="reverse" /> 35 36 </body> 37 </html>
我想问下为什么的不能反选,反选Jquery代码有问题么?能否给个简单的事例说明
我用1.4.4可以正常执行,1.9.1不行,但是吧<input type="checkbox" />歌曲1<br /> 加上属性 checked="true" or"false" 可正常,不知道这是不是1.9.1的bug,另外两个库执行 alert($(this).attr("checked")); 得到结果也是不一样的,1.4.1是true/false,而1.9.1是checked/undefined。
谢谢你的回答,我验证过了,我跟换了1.8.3 的就可以了!
可以正常反选,你换个浏览器试试
jquery-1.9.1 有true,false两个属性使用prop();chrome 是这样,IE 不会