From: Brandon Aaron Date: Fri, 9 Feb 2007 19:52:31 +0000 (+0000) Subject: Get actual values for attributes in IE and fix #910 so that it does not crash safari X-Git-Url: http://git.asbjorn.it/?a=commitdiff_plain;ds=inline;h=81f138d77e92e4deb6057cead988ebb679370973;p=jquery.git Get actual values for attributes in IE and fix #910 so that it does not crash safari --- diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index befaef6..3693ee3 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -1470,7 +1470,7 @@ jQuery.extend({ if ( arg.length === 0 ) return; - if ( arg[0] == undefined || jQuery.nodeName(arg[0],"form") ) + if ( arg[0] == undefined || (jQuery.browser.msie && jQuery.nodeName(arg,"form")) ) r.push( arg ); else r = jQuery.merge( r, arg ); @@ -1495,6 +1495,8 @@ jQuery.extend({ selected: "selected" }; + var fixIE = jQuery.isXMLDoc(elem) ? [] : "href,src,background,cite,classid,codebase,data,longdesc,profile,usemap".split(','); + // IE actually uses filters for opacity ... elem is actually elem.style if ( name == "opacity" && jQuery.browser.msie && value != undefined ) { // IE has trouble with opacity if it does not have layout @@ -1525,7 +1527,7 @@ jQuery.extend({ // IE elem.getAttribute passes even for style else if ( elem.tagName ) { if ( value != undefined ) elem.setAttribute( name, value ); - if ( name == "href" && jQuery.browser.msie && !jQuery.isXMLDoc(elem) ) return elem.getAttribute( name, 2 ); + if ( jQuery.browser.msie && fixIE[name] ) return elem.getAttribute( name, 2 ); return elem.getAttribute( name ); // elem is actually elem.style ... set the style