Open-Source World

let's learn and study.
posts - 28, comments - 23, trackbacks - 0, articles - 1

一下的代码是我从国外的网上看的,我又改进了一点,在这跟大家分享

代码
  为prototype的Element增加两个方法
  1. document.getElementsByAttribute = function(attribute,parent) {   
  2.     return $A(($(parent) || document.body).getElementsByTagName('*')).inject([],function(elements,child){   
  3.         if(Element.readAttribute(child,attribute)!=null)   
  4.                    //这个判断我改成了!=null原来没有但这样当你在元素中只是添加了某个属性   
  5.                       //如<input type='text' required />这时原来的代码就会找不到   
  6.             elements.push(Element.extend(child));   
  7.         return elements;   
  8.     });   
  9. }   
  10.   
  11. document.getElementsByAttributeValue = function(attribute,value,parent) {   
  12.     return $A(($(parent) || document.body).getElementsByTagName('*')).inject([],function(elements,child){   
  13.         if(Element.readAttribute(child,attribute) == value)   
  14.             elements.push(Element.extend(child));   
  15.         return elements;   
  16.     });   
  17. }   
  18.   
  19. Element.addMethods({   
  20.     getElementsByAttribute: function(element,attribute){   
  21.         return document.getElementsByAttribute(attribute,element);   
  22.     },   
  23.     getElementsByAttributeValue: function(element,attribute,value){   
  24.         return document.getElementsByAttributeValue(attribute,value,element);   
  25.     }   
  26. });   



使用时

代码
  1. <html>  
  2. <head>  
  3. <script src='prototype.js'></script>  
  4. <script src='prototype.tidbits.js'></script>  
  5. <script language="javascript" type="text/javascript">  
  6.     Event.observe(window,'load',function(){   
  7.         alert($('div1').getElementsByAttribute('require').length);   
  8.         alert(document.getElementsByAttribute('require').length);   
  9.     })   
  10. </script>  
  11. </head>  
  12. <body>  
  13.     <div id='div1'>  
  14.     <input type='text'   require/>  
  15.     <input type='text' require />  
  16.     </div>  
  17. </body>  
  18. </html>  





 


只有注册用户登录后才能发表评论。


网站导航: