jQuery1.3以上版本"@"的问题

jQuery1.3.2已经发布好一段时间了,近日把原来的项目全部从jQuery1.2.6升级为1.3.2了.但是有一点要注意,1.3版以上的jQuery在根据选择属性选择时,去掉了@符号,有某些情况下原有的代码可能会无法正常运行:

<input type="radio" name="mySex" value="1"></input>
<input type="radio" name="mySex" value="-1" checked="checked"></input>
<hr/>
<input type="checkbox" name="sport" value="1" checked="checked"></input>蓝球
<input type="checkbox" name="sport" value="2" checked="checked"></input>足球
<input type="checkbox" name="sport" value="3"></input>乒乓球
<input type="checkbox" name="sport" value="4" checked="checked"></input>乒乓球
<script type="text/javascript">

$().ready(
function(){
    
    
//1.3版以下(比如1.2.6版)的写法,在1.3版上会报错
    var s = $("input[@name='mySex']");
    alert(s.length);
    

    
/* 1.3版以上的写法*/
    
//var s = $("input[name='mySex']");
    //alert(s.length);

    
/*但是很奇怪的是,下面的写法却在1.2与1.3版上都能通用*/
    
var sport = $("input[name='sport'][checked]");
    
for(var i=0;i<sport.length;i++){
        alert(sport.eq(i).val());
    }
})
</script>
作者:菩提树下的杨过
出处:http://yjmyzz.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/yjmyzz/p/1424085.html