X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fjquery%2Fjquery.js;h=cf9459d248c4ce19de610114e2a4eb90a33c6ba6;hb=0f7c89cd97de6ca644a834a119dda1e057fd724e;hp=30396caccf29f227e5315f6cd4682865d40a49d3;hpb=26034c4a2985c18c6c702f1c609001f859e33654;p=jquery.git diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index 30396ca..cf9459d 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -614,10 +614,13 @@ jQuery.fn = jQuery.prototype = { */ wrap: function() { // The elements to wrap the target around - var a = jQuery.clean(arguments); + var a, args = arguments; // Wrap each of the matched elements individually return this.each(function(){ + if ( !a ) + a = jQuery.clean(args, this.ownerDocument); + // Clone the structure that we're using to wrap var b = a[0].cloneNode(true); @@ -1121,12 +1124,15 @@ jQuery.fn = jQuery.prototype = { * @cat Core */ domManip: function(args, table, dir, fn){ - var clone = this.length > 1; - var a = jQuery.clean(args); - if ( dir < 0 ) - a.reverse(); + var clone = this.length > 1, a; return this.each(function(){ + if ( !a ) { + a = jQuery.clean(args, this.ownerDocument); + if ( dir < 0 ) + a.reverse(); + } + var obj = this; if ( table && jQuery.nodeName(this, "table") && jQuery.nodeName(a[0], "tr") ) @@ -1403,8 +1409,10 @@ jQuery.extend({ curCSS: function(elem, prop, force) { var ret; - if (prop == "opacity" && jQuery.browser.msie) - return jQuery.attr(elem.style, "opacity"); + if (prop == "opacity" && jQuery.browser.msie) { + ret = jQuery.attr(elem.style, "opacity"); + return ret == "" ? "1" : ret; + } if (prop == "float" || prop == "cssFloat") prop = jQuery.browser.msie ? "styleFloat" : "cssFloat"; @@ -1438,8 +1446,9 @@ jQuery.extend({ return ret; }, - clean: function(a) { + clean: function(a, doc) { var r = []; + doc = doc || document; jQuery.each( a, function(i,arg){ if ( !arg ) return; @@ -1450,7 +1459,7 @@ jQuery.extend({ // Convert html string into DOM nodes if ( typeof arg == "string" ) { // Trim whitespace, otherwise indexOf won't work as expected - var s = jQuery.trim(arg), div = document.createElement("div"), tb = []; + var s = jQuery.trim(arg), div = doc.createElement("div"), tb = []; var wrap = // option or optgroup @@ -1537,7 +1546,7 @@ jQuery.extend({ } return elem.filter ? - (parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100).toString() : "1"; + (parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100).toString() : ""; } // Certain attributes only work when accessed via the old DOM 0 way