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>
posted @ 2009-03-28 20:35  菩提树下的杨过  阅读(871)  评论(1编辑  收藏  举报