最近在用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 class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="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){ 
共同学习,写下你的评论
评论加载中...
作者其他优质文章
 
                 
             
			 
					 
					