X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fjquery%2Fjquery.js;h=a0a20099327d118cb8b34c6ac3249ce7d752ff6d;hb=334462b23c3daca53f2fbff177693f0f1ba29c48;hp=8e8f7be780a7ceae4148d8b8dab90e2b5460924e;hpb=3c82f8fb4aed7b4e65e1dd9ed79718a155a7a492;p=jquery.git diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index 8e8f7be..a0a2009 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -1457,8 +1457,16 @@ jQuery.extend({ }, curCSS: function(elem, prop, force) { - var ret, getComputedStyle = document.defaultView && - document.defaultView.getComputedStyle, stack = [], swap = []; + var ret, stack = [], swap = []; + + // A helper method for determining if an element's values are broken + function color(a){ + if ( !jQuery.browser.safari ) + return false; + + var ret = document.defaultView.getComputedStyle(a,null); + return !ret || ret.getPropertyValue("color") == ""; + } if (prop == "opacity" && jQuery.browser.msie) { ret = jQuery.attr(elem.style, "opacity"); @@ -1471,13 +1479,13 @@ jQuery.extend({ if (!force && elem.style[prop]) ret = elem.style[prop]; - else if (getComputedStyle) { + else if (document.defaultView && document.defaultView.getComputedStyle) { if (prop.match(/float/i)) prop = "float"; prop = prop.replace(/([A-Z])/g,"-$1").toLowerCase(); - var cur = getComputedStyle(elem, null); + var cur = document.defaultView.getComputedStyle(elem, null); if ( cur && !color(elem) ) ret = cur.getPropertyValue(prop); @@ -1501,7 +1509,7 @@ jQuery.extend({ // one special, otherwise get the value ret = prop == "display" && swap[stack.length-1] != null ? "none" : - getComputedStyle(elem,null).getPropertyValue(prop) || ""; + document.defaultView.getComputedStyle(elem,null).getPropertyValue(prop) || ""; // Finally, revert the display styles back for ( a = 0; a < swap.length; a++ ) @@ -1512,11 +1520,6 @@ jQuery.extend({ if ( prop == "opacity" && ret == "" ) ret = "1"; - // A helper method for determining if an element's values are broken - function color(a){ - return jQuery.browser.safari && getComputedStyle(a,null).getPropertyValue("color") == ""; - } - } else if (elem.currentStyle) { var newProp = prop.replace(/\-(\w)/g,function(m,c){return c.toUpperCase();}); ret = elem.currentStyle[prop] || elem.currentStyle[newProp]; @@ -1584,7 +1587,11 @@ jQuery.extend({ for ( var n = tb.length-1; n >= 0 ; --n ) if ( jQuery.nodeName(tb[n], "tbody") && !tb[n].childNodes.length ) tb[n].parentNode.removeChild(tb[n]); - + + // IE completely kills leading whitespace when innerHTML is used + if ( /^\s/.test(arg) ) + div.insertBefore( doc.createTextNode( arg.match(/^\s*/)[0] ), div.firstChild ); + } arg = jQuery.makeArray( div.childNodes );