继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Jquery--小Bug

ajax快速入门培训基础
关注TA
已关注
手记 284
粉丝 176
获赞 719

最近在用Jquery做一个项目。发现一个很有趣的现象:

在Jquery早期版本中,属性选择器用得很是顺利,可到了1.4.4及以后的版本就不好用了:

<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <script src="jquery-1.2.1.js" type="text/javascript"></script>
  <script>
//点击Home时
$(function(){
$(this).find("[validate!='']").each(function(i,n){ 
    var obj = n;
  $(obj).blur(function() {
  alert($(obj).attr("validate"));
     // return $.singlevaildate(this, false);
  })
  
   })
});
 </script>
 </HEAD>

 <BODY>
 <select id="page"></select>
  <ul id="menu"  validate="aaaa">
    <li id="aa">
        <ul>
            <li>
                <a href="#" validate="cccc">Home</a>
            </li>
        </ul>
    </li>
    <li>End</li>
 <li>
  <input type="text" value="click me" id="tex" validate=""/>
 </li>
</ul>
 </BODY>
</HTML>

 

以上代码,在1.2.6以下的版本中,都是运行很好。结果如下:

aaaa,bbbb,cccc 光标移开会打出:cccc

但一到了1.4.4版本下,

会打出一串的undefind 出来,且其中也会打出aaaa,cccc出来。

 

解决办法:

$(this).find("[validate!='']").each(function(i,n){  改为:

$(this).find("[validate][validate!='']").each(function(i,n){ 

 

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP