//绑定事件 function bindEvent(obj, ev, fn) { if ( obj.attachEvent ) { //添加事件 obj.attachEvent( 'on' + ev, fn ); fn.call(obj); }else { //添加事件监听 obj.addEventListener( ev, fn, false ); } } //获取所有style样式 function getStyle(obj,attr){ if(obj.crrentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } } //获取元素 function getByClass(CName,id){ var obj =null; if(arguments.length==2){ obj=document.getElementById('id'); }else{ obj=document; } var allNode=obj.getElementsByTagName("*"); var aNode =[]; for (var i = 0; i <allNode.length; i++) { if (allNode[i].className == CName) { aNode.push(allNode[i]); } } return aNode; } //选择器 function JqFn(arg){ //当前元素 this.elements = []; switch(typeof arg){ //方法 case 'function': // window.onload = arg; bindEvent(window,'load',arg); break; //字符串 case 'string': switch(arg.charAt(0)){ //id选择器 case '#': var obj = document.getElementById(arg.substring(1)); this.elements.push(obj); break; //class选择器 case '.': this.elements=getByClass(arg.substring(1)); break; //元素选择器 default: this.elements=document.getElementsByTagName(arg); break; } break; //对象 case 'object': break; } } //点击事件 JqFn.prototype.click=function(fn){ for(var i=0;i<this.elements.length;i++){ // this.elements[i].onclink = fn; bindEvent(this.elements[i],'click',fn); } }; //css样式 JqFn.prototype.css=function(attr,value){ if(arguments.length==2){ for(var i=0;i<this.elements.length;i++){ this.elements[i].style[attr]=value; } }else{ if(typeof arguments[0]=='object'){ for(var i=0;i<this.elements.length;i++){ for(var key in arguments[0]){ this.elements[i].style[key]=arguments[0][key]; } } }else{ return getStyle(this.elements[0],attr); } } return this; }; //eq方法 JqFn.prototype.eq=function(index){ var aNode =[]; aNode = this.elements[index]; this.elements=[]; this.elements.push(aNode); return this; }; //innerHTML JqFn.prototype.html=function(str){ if(str){ for(var i=0;i<this.elements.length;i++){ this.elements[i].innerHTML=str; } }else{ return this.elements[0]=innerHTML; } return this; }; //index索引 JqFn.prototype.index=function(tag){ var allstrings=this.elements[0].parentNode.children; var aNode=[]; if(tag){ for(var i=0;i<allstrings.length;i++){ if(allstrings[i].tagName.ToLowercase()==tag){ aNode.push(allstrings[i]); } } }else{ aNode = allstrings; } for(var i=0;i<aNode.length;i++){ if(aNode[i]=elements[0]){ return i; } } return -1; }; //val JqFn.prototype.val = function (str) { if (str) { for (var i = 0; i < this.elements.length; i++) { this.elements[i].value = str; } } else { return this.elements[0].value; } return this; }; // oLink.href JqFn.prototype.attr = function (name, value) { if (arguments.length == 2) { for (var i = 0; i < this.elements.length; i++) { this.elements[i][name] = value; } } else { if (typeof arguments[0] == "object") { for (var i = 0; i < this.elements.length; i++) { for (var key in arguments[0]) { this.elements[i][key] = arguments[0][key]; } } } else { return this.elements[0][name]; } } return this; }; //show JqFn.prototype.show=function(){ for(var i=0;i<this.elements.length;i++){ this.elements[i].style.display="block"; } }; //hide JqFn.prototype.hide=function(){ for(var i=0;i<this.elements.length;i++){ this.elements[i].style.display="none"; } }; //$符号 function $(arg){ return new JqFn(arg); }