JavaScript代码
  1. /** 
  2. * 
  3. * @param parent父节点 
  4. * @param ele要选取的元素标签 
  5. * @param num第几个元素 
  6. * @return {*} 
  7. */  
  8. function nth(parent,ele,num){  
  9.     var _ele=Array.prototype.slice.call(parent.childNodes),eleArray=[];  
  10.     //将父节点的子节点转换成数组_ele;eleArray为只储存元素节点的数组  
  11.     for(var i=0,len=_ele.length;i<len;i++){  
  12.         if(_ele[i].nodeType==1){  
  13.             eleArray.push(_ele[i]);//过滤掉非元素节点  
  14.         }  
  15.     }  
  16.     if(arguments.length===2){  
  17.         //如果只传入2个参数,则如果第二个参数是数字,则选取父节点下的第几个元素  
  18.         //如果第二个参数是字符串,则选取父节点下的所有参数代表的节点  
  19.         if(typeof arguments[1]==="string"){  
  20.             _ele=Array.prototype.slice.call(parent.getElementsByTagName(arguments[1]));  
  21.             return _ele;  
  22.         }else if(typeof arguments[1]==="number"){  
  23.             return eleArray[arguments[1]];  
  24.         }  
  25.     }else{  
  26.         //如果参数齐全,则返回第几个某节点,索引从0开始  
  27.         _ele=Array.prototype.slice.call(parent.getElementsByTagName(ele));  
  28.         return _ele[num];  
  29.     }  
  30. };  

 

H5/JS/CSS | 评论(0) | 引用(0) | 阅读(3667)