X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=jquery%2Fjquery.js;h=f987c86d20e6714f5035094a9eff8af7adb51099;hb=29a059142123a8bde16de2e579e7708a86a8de78;hp=075c2d2f7e2b47554d7a8ac62098530004c400e9;hpb=98bd178cb00da749062bcd7e8992b569156674fc;p=jquery.git diff --git a/jquery/jquery.js b/jquery/jquery.js index 075c2d2..f987c86 100644 --- a/jquery/jquery.js +++ b/jquery/jquery.js @@ -61,8 +61,8 @@ function jQuery(a,c) { if ( m ) a = jQuery.clean( [ m[1] ] ); // Watch for when an array is passed in - this.get( a.constructor == Array || a.length && a[0].nodeType ? - // Assume that it's an array of DOM Elements + this.get( a.constructor == Array || a.length && a[0] != undefined && a[0].nodeType ? + // Assume that it is an array of DOM Elements jQuery.merge( a, [] ) : // Find the matching elements and save them for later @@ -308,7 +308,7 @@ jQuery.fn = jQuery.prototype = { * @param Object value The value to set the property to. */ css: function( key, value ) { - return this.attr( key, value, "css" ); + return this.attr( key, value, "curCSS" ); }, /** @@ -1076,8 +1076,8 @@ new function() { * @type jQuery * @param String type An event type */ - trigger: function( type ) { - jQuery.event.trigger( this, type ); + trigger: function( type, data ) { + jQuery.event.trigger( type, data, this ); } }; @@ -1107,18 +1107,18 @@ new function() { this.length ? this[0][n] : null : this.attr( n, h ); }; - } - - var css = "width,height,top,left,position,float,overflow,color,background".split(","); - + }; + + var css = "width,height,top,left,position,float,overflow,color,background".split(","); + for ( var i in css ) new function() { var n = css[i]; jQuery.fn[ i ] = function(h) { return h == undefined ? - this.length ? jQuery.css( this[0], n ) : null : + ( this.length ? jQuery.css( this[0], n ) : null ) : this.css( n, h ); }; - } + }; } @@ -1177,10 +1177,14 @@ jQuery.extend({ return p == "height" ? oHeight : oWidth; } - + + return jQuery.curCSS( e, p ); + }, + + curCSS: function(e,p,force) { var r; - if (e.style[p]) + if (!force && e.style[p]) r = e.style[p]; else if (e.currentStyle) r = e.currentStyle[p]; @@ -1252,8 +1256,8 @@ jQuery.extend({ contains: "(a.innerText||a.innerHTML).indexOf(m[3])>=0", // Visibility - visible: "jQuery.css(a,'display')!='none'&&jQuery.css(a,'visibility')!='hidden'", - hidden: "jQuery.css(a,'display')=='none'||jQuery.css(a,'visibility')=='hidden'", + visible: "a.type!='hidden'&&jQuery.css(a,'display')!='none'&&jQuery.css(a,'visibility')!='hidden'", + hidden: "a.type=='hidden'||jQuery.css(a,'display')=='none'||jQuery.css(a,'visibility')=='hidden'", // Form elements enabled: "!a.disabled", @@ -1288,7 +1292,7 @@ jQuery.extend({ find: function( t, context ) { // Make sure that the context is a DOM Element - if ( context && context.getElementsByTagName == undefined ) + if ( context && context.nodeType == undefined ) context = null; // Set the correct context (if none is provided) @@ -1409,19 +1413,17 @@ jQuery.extend({ // The regular expressions that power the parsing engine parse: [ // Match: [@value='test'], [@foo] - "\\[ *(@)S *([!*$^=]*) *Q\\]", + [ "\\[ *(@)S *([!*$^=]*) *Q\\]", 1 ], // Match: [div], [div p] - "(\\[)Q\\]", + [ "(\\[)Q\\]", 0 ], // Match: :contains('foo') - "(:)S\\(Q\\)", + [ "(:)S\\(Q\\)", 0 ], // Match: :even, :last-chlid - "([:.#]*)S" + [ "([:.#]*)S", 0 ] ], - - parseSwap: [ 1, 0, 0, 0 ], filter: function(t,r,not) { // Figure out if we're doing regular, or inverse, filtering @@ -1430,8 +1432,10 @@ jQuery.extend({ while ( t && /^[a-z[({<*:.#]/i.test(t) ) { - for ( var i = 0; i < jQuery.parse.length; i++ ) { - var re = new RegExp( "^" + jQuery.parse[i] + var p = jQuery.parse; + + for ( var i = 0; i < p.length; i++ ) { + var re = new RegExp( "^" + p[i][0] // Look for a string-like sequence .replace( 'S', "([a-z*_-][a-z0-9_-]*)" ) @@ -1443,7 +1447,7 @@ jQuery.extend({ if ( m ) { // Re-organize the match - if ( jQuery.parseSwap[i] ) + if ( p[i][1] ) m = ["", m[1], m[3], m[2], m[4]]; // Remove what we just matched