Skip to content
Permalink
Browse files

Got .css() working in Safari 2 as well (a number of shortcuts had to …

…be removed, unfortunately). This should successfully close bug #1349.
  • Loading branch information
jeresig committed Jul 29, 2007
1 parent 3c82f8f commit 17949afc34d2fa7626bcc739b5008d32ee411660
Showing with 13 additions and 10 deletions.
  1. +13 −10 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];

0 comments on commit 17949af

Please sign in to comment.
You can’t perform that action at this time.