X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fjquery%2Fjquery.js;h=bc4bcd1e7972de9d6faa7449fcbc9202049ee175;hb=05d401dd8439d8a2137d3fb69a70d671c0d3a69d;hp=705a5bb9cfef4a067070f7a49c1d8f52dbafa292;hpb=17949afc34d2fa7626bcc739b5008d32ee411660;p=jquery.git diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index 705a5bb..bc4bcd1 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -852,7 +852,7 @@ jQuery.fn = jQuery.prototype = { * @cat DOM/Manipulation */ clone: function(deep) { - deep = deep != undefined ? deep : true + deep = deep != undefined ? deep : true; var $this = this.add(this.find("*")); if (jQuery.browser.msie) { // Need to remove events on the element and its descendants @@ -938,7 +938,7 @@ jQuery.fn = jQuery.prototype = { return this.pushStack( jQuery.isFunction( t ) && jQuery.grep(this, function(el, index){ - return t.apply(el, [index]) + return t.apply(el, [index]); }) || jQuery.multiFilter(t,this) ); @@ -1191,7 +1191,7 @@ jQuery.fn = jQuery.prototype = { if ( this.src ) jQuery.ajax({ url: this.src, async: false, dataType: "script" }); else - (new Function( this.text || this.textContent || this.innerHTML || "" ))(); + jQuery.globalEval( this.text || this.textContent || this.innerHTML || "" ); } else fn.apply( obj, [ clone ? this.cloneNode(true) : this ] ); }); @@ -1322,6 +1322,21 @@ jQuery.extend({ elem.tagName && elem.ownerDocument && !elem.ownerDocument.body; }, + // Evalulates a script in a global context + // Evaluates Async. in Safari 2 :-( + globalEval: function( data ) { + data = jQuery.trim( data ); + if ( data ) { + if ( window.execScript ) + window.execScript( data ); + else if ( jQuery.browser.safari ) + // safari doesn't provide a synchronous global eval + window.setTimeout( data, 0 ); + else + eval.call( window, data ); + } + }, + nodeName: function( elem, name ) { return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); }, @@ -1551,7 +1566,7 @@ jQuery.extend({ !s.indexOf("", ""] || - (!s.indexOf("", ""] || !s.indexOf("= 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 ); @@ -1885,7 +1904,7 @@ new function() { // Check to see if the W3C box model is being used jQuery.boxModel = !jQuery.browser.msie || document.compatMode == "CSS1Compat"; - jQuery.styleFloat = jQuery.browser.msie ? "styleFloat" : "cssFloat", + jQuery.styleFloat = jQuery.browser.msie ? "styleFloat" : "cssFloat"; jQuery.props = { "for": "htmlFor", @@ -2054,7 +2073,7 @@ jQuery.each({ var ret = jQuery.map(this,n); if ( a && typeof a == "string" ) ret = jQuery.multiFilter(a,ret); - return this.pushStack( ret ); + return this.pushStack( jQuery.unique(ret) ); }; });