X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=jquery%2Fjquery.js;h=9f35e1a91348d74cf763e97fa17fd2c4bd0212cf;hb=4b6bcb235fc4ae30692d27910dffbf79295e36f4;hp=fe12bf73b21b939932add19d41df20648a32e671;hpb=81fda970ff9d5c820995aa0ea3f873b8c801f47b;p=jquery.git diff --git a/jquery/jquery.js b/jquery/jquery.js index fe12bf7..9f35e1a 100644 --- a/jquery/jquery.js +++ b/jquery/jquery.js @@ -25,7 +25,7 @@ function $(a,c) { $c = $c && $c.documentElement || document; if ( $c.getElementsByTagName($a).length === 0 ) { var obj = $c.getElementById($a); - if ( obj !== null ) { return obj; } + if ( obj ) { return obj; } } } } else if ( $a.constructor == Array ) { @@ -57,7 +57,7 @@ function $(a,c) { }, set: function(a,b) { return this.each(function(){ - if ( b === null ) { + if ( typeof b == 'undefined' ) { for ( var j in a ) { $.attr(this,j,a[j]); } @@ -67,11 +67,11 @@ function $(a,c) { }); }, html: function(h) { - return h === null && this.size() ? + return typeof h == 'undefined' && this.size() ? this.get(0).innerHTML : this.set( "innerHTML", h ); }, val: function(h) { - return h === null && this.size() ? + return typeof h == 'undefined' && this.size() ? this.get(0).value : this.set( "value", h ); }, @@ -124,7 +124,7 @@ function $(a,c) { }, removeClass: function(c) { return this.each(function(){ - this.className = c === null ? '' : + this.className = !c ? '' : this.className.replace( new RegExp('(^|\\s*\\b[^-])'+c+'($|\\b(?=[^-]))', 'g'), ''); }); @@ -305,7 +305,7 @@ function $(a,c) { } for ( var k in self ) {(function(j){ try { - if ( $a[j] === null ) { + if ( !$a[j] ) { $a[j] = function() { return $.apply(self,self[j],arguments); }; @@ -318,7 +318,15 @@ function $(a,c) { return self; } -$.eval = eval; +(function(){ + var b = navigator.userAgent.toLowerCase(); + $.browser = + ( /safari/.test(b) && "safari" ) || + ( /opera/.test(b) && "opera" ) || + ( /msie/.test(b) && "msie" ) || + ( !/compatible/.test(b) && "mozilla" ) || + "other"; +})(); $.apply = function(o,f,a) { a = a || []; @@ -330,7 +338,7 @@ $.apply = function(o,f,a) { p[i] = 'a['+i+']'; } o.$$exec = this; - var r = $.eval('o.$$exec(' + p.join(',') + ')'); + var r = eval('o.$$exec(' + p.join(',') + ')'); o.$$exec = null; return r; } @@ -398,7 +406,7 @@ $.clean = function(a) { $.g = { '': "m[2] == '*' || a.nodeName.toUpperCase() == m[2].toUpperCase()", - '#': "a.id == m[2]", + '#': "a.attributes['id'].nodeValue == m[2]", ':': { lt: "i < m[3]-0", gt: "i > m[3]-0", @@ -476,22 +484,22 @@ $.Select = function( t, context ) { var re = new RegExp( "^//", "i" ); t = t.replace( re, "" ); - if ( t.indexOf('..') === 0 || t.indexOf('/..') === 0 ) { + if ( t.indexOf('..') === 0 || t.indexOf('/..') === 0 ) { if ( t.indexOf('/') === 0 ) { t = t.substr(1,t.length); } r = $.map( ret, function(a){ return a.parentNode; } ); t = t.substr(2,t.length); t = $.cleanSpaces(t); - } else if ( t.indexOf('>') === 0 || t.indexOf('/') === 0 ) { + } else if ( t.indexOf('>') === 0 || t.indexOf('/') === 0 ) { r = $.map( ret, function(a){ return ( a.childNodes.length > 0 ? $.sibling( a.firstChild ) : null ); } ); t = t.substr(1,t.length); t = $.cleanSpaces(t); - } else if ( t.indexOf('+') === 0 ) { + } else if ( t.indexOf('+') === 0 ) { r = $.map( ret, function(a){ return $.sibling(a).next; } ); t = t.substr(1,t.length); t = $.cleanSpaces(t); - } else if ( t.indexOf('~') === 0 ) { + } else if ( t.indexOf('~') === 0 ) { r = $.map( ret, function(a){ var r = []; var s = $.sibling(a); @@ -504,19 +512,19 @@ $.Select = function( t, context ) { }); t = t.substr(1,t.length); t = $.cleanSpaces(t); - } else if ( t.indexOf(',') === 0 || t.indexOf('|') === 0 ) { + } else if ( t.indexOf(',') === 0 || t.indexOf('|') === 0 ) { if ( ret[0] == context ) { ret.shift(); } done = $.merge( done, ret ); r = ret = [context]; t = " " + t.substr(1,t.length); - } else { + } else { var re2 = new RegExp( "^([#.]?)([a-z0-9\\*_-]*)", "i" ); var m = re2.exec(t); if ( m[1] == "#" ) { // Ummm, should make this work in all XML docs var oid = document.getElementById(m[2]); - r = oid ? [oid] : []; - t = t.replace( re, "" ); + r = ret = oid ? [oid] : []; + t = t.replace( re2, "" ); } else { if ( m[2] === "" || m[1] == "." ) { m[2] = "*"; } @@ -547,13 +555,16 @@ $.Select = function( t, context ) { } } - var val = $.filter(t,r); - ret = r = val.r; - t = $.cleanSpaces(val.t); + if ( t ) { + var val = $.filter(t,r); + ret = r = val.r; + t = $.cleanSpaces(val.t); + } } if ( ret && ret[0] == context ) { ret.shift(); } done = $.merge( done, ret ); + return done; }; @@ -625,7 +636,7 @@ $.filter = function(t,r,not) { } if ( f !== null ) { - $.eval('f = function(a,i){return ' + f + '}'); + eval('f = function(a,i){return ' + f + '}'); r = g( r, f ); } } @@ -651,7 +662,7 @@ $.cleanSpaces = function(t){ $.ofType = function(a,n,e) { var t = $.grep($.sibling(a),function(b){return b.nodeName == a.nodeName;}); if ( e ) { n = t.length - n - 1; } - return n !== null ? t[n] == a : t.length; + return typeof n != 'undefined' ? t[n] == a : t.length; }; $.sibling = function(a,n,e) { @@ -673,7 +684,7 @@ $.sibling = function(a,n,e) { }; $.hasWord = function(e,a) { - if ( e === null ) { return false; } + if ( typeof e == 'undefined' ) { return false; } if ( e.className !== null ) { e = e.className; } return new RegExp("(^|\\s)" + a + "(\\s|$)").test(e); }; @@ -711,7 +722,7 @@ $.merge = function(a,b) { $.grep = function(a,f,s) { var r = []; - if ( a !== null ) { + if ( typeof a != 'undefined' ) { for ( var i = 0; i < a.length; i++ ) { if ( (!s && f(a[i],i)) || (s && !f(a[i],i)) ) { r[r.length] = a[i]; @@ -791,16 +802,14 @@ $.event.handle = function(event) { } for ( var i = 0; i < handlers.length; i++ ) { - try { - if ( handlers[i].constructor == Function ) { - this.$$handleEvent = handlers[i]; - if (this.$$handleEvent(event) === false) { - event.preventDefault(); - event.stopPropagation(); - returnValue = false; - } + if ( handlers[i].constructor == Function ) { + this.$$handleEvent = handlers[i]; + if (this.$$handleEvent(event) === false) { + event.preventDefault(); + event.stopPropagation(); + returnValue = false; } - } catch(e){} + } } return returnValue; };