日期:2014-05-16  浏览次数:20431 次

jquery新版本的天大bug 送分
本帖最后由 valid25f 于 2013-10-02 10:35:15 编辑
同一段代码旧版能运行 新版不能 坑了我一天的时间 才发现 靠
先看旧的jquery1.4.4 运行正常 点击 全选 弹出是否全选true或false ,然后全选或取消其余框

<html> 
<head> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.js"></script>
<script>
      
    function all(allbox){
alert($("#al").attr("checked"));
        $("input[name='upcom']").attr("checked",allbox.checked);
    }
     
</script>
 </head>
<body>
    <input type="checkbox" name="all" onclick="all(this)" id="al">全选<br>
    <input type="checkbox" name="upcom" value="大家">大家
    <input type="checkbox" name="upcom" value="几款">几款
    <input type="checkbox" name="upcom" value="张之洞">张之洞
</body>
<html>



再看新版jquery 1.10.2
会先弹出一个undefined,然后完全无效


<html> 
<head> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
      
    function all(allbox){
alert($("#al").attr("checked"));
        $("input[name='upcom']").attr("checked",allbox.checked);
    }
     
</script>
 </head>
<body>
    <input type="checkbox" name="all" onclick="all(this)" id="al">全选<br>
    <input type="checkbox" name="upcom" value="大家">大家
    <input type="checkbox" name="upcom" value="几款">几款
    <input type="checkbox" name="upcom" value="张之洞">张之洞
</body>
<html>


------解决方案--------------------
会不会已经有更新说明了  你却没有发现
------解决方案--------------------

没看代码,只接分,你这个版本跨度大了点
------解决方案--------------------
“checked”属性是undefined没错啊,可能是最近做的一个改动,由"true / false"改成了undefined/"checked"。懒得查changelog,不过大概是这个原因
------解决方案--------------------
 来接分 不知能接到不 
------解决方案--------------------
接分~~
------解决方案--------------------
分要接,问题也在思考!
------解决方案--------------------
$("#al").prop("checked")


改为prop方法了。楼主好好看下api,改动蛮大的1.5+和.1.4-的jquery
---