X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fjquery%2Fjquery.js;h=57685b31d538361db1f79ba1e3bf40c2ef3087e9;hb=3604d14896568ecdaaa232dc12380a56fa7c4b0c;hp=ef728f032da1dacd7be62b7ace5f138abceed9ca;hpb=62ae0eff503e7d1e99873db13efe49f634d176d0;p=jquery.git diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index ef728f0..57685b3 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -811,7 +811,7 @@ jQuery.fn = jQuery.prototype = { /** * Searches for all elements that match the specified expression. - + * * This method is a good way to find additional descendant * elements with which to process. * @@ -1565,7 +1565,16 @@ jQuery.extend({ // IE elem.getAttribute passes even for style else if ( elem.tagName ) { - // IE actually uses filters for opacity ... elem is actually elem.style + + + if ( value != undefined ) elem.setAttribute( name, value ); + if ( jQuery.browser.msie && /href|src/.test(name) && !jQuery.isXMLDoc(elem) ) + return elem.getAttribute( name, 2 ); + return elem.getAttribute( name ); + + // elem is actually elem.style ... set the style + } else { + // IE actually uses filters for opacity if ( name == "opacity" && jQuery.browser.msie ) { if ( value != undefined ) { // IE has trouble with opacity if it does not have layout @@ -1580,14 +1589,6 @@ jQuery.extend({ return elem.filter ? (parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100).toString() : ""; } - - if ( value != undefined ) elem.setAttribute( name, value ); - if ( jQuery.browser.msie && /href|src/.test(name) && !jQuery.isXMLDoc(elem) ) - return elem.getAttribute( name, 2 ); - return elem.getAttribute( name ); - - // elem is actually elem.style ... set the style - } else { name = name.replace(/-([a-z])/ig,function(z,b){return b.toUpperCase();}); if ( value != undefined ) elem[name] = value; return elem[name]; @@ -1665,11 +1666,15 @@ jQuery.extend({ unique: function(first) { var r = [], num = jQuery.mergeNum++; - for ( var i = 0, fl = first.length; i < fl; i++ ) - if ( num != first[i].mergeNum ) { - first[i].mergeNum = num; - r.push(first[i]); - } + try { + for ( var i = 0, fl = first.length; i < fl; i++ ) + if ( num != first[i].mergeNum ) { + first[i].mergeNum = num; + r.push(first[i]); + } + } catch(e) { + r = first; + } return r; }, @@ -1810,7 +1815,7 @@ new function() { // Figure out what browser is being used jQuery.browser = { - version: b.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)[1], + version: (b.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1], safari: /webkit/.test(b), opera: /opera/.test(b), msie: /msie/.test(b) && !/opera/.test(b),