Added new replaceWith() (replace all matched elements with the specified HTML/DOM...
[jquery.git] / src / jquery / jquery.js
index dfe55bc..8988c5e 100644 (file)
  * @param jQuery|Element|Array<Element> c context
  * @cat Core
  */
+
+// Map over jQuery in case of overwrite
+if ( typeof jQuery != "undefined" )
+       var _jQuery = jQuery;
+
 var jQuery = window.jQuery = function(a,c) {
        // If the context is global, return a new object
        if ( window == this || !this.init )
@@ -29,7 +34,7 @@ var jQuery = window.jQuery = function(a,c) {
 
 // Map over the $ in case of overwrite
 if ( typeof $ != "undefined" )
-       jQuery._$ = $;
+       var _$ = $;
        
 // Map the jQuery namespace to the '$' one
 window.$ = jQuery;
@@ -1177,6 +1182,10 @@ jQuery.fn = jQuery.prototype = {
                        this.empty().append( val );
        },
 
+       replaceWith: function( val ) {
+               return this.after( val ).remove();
+       },
+
        slice: function() {
                return this.pushStack( Array.prototype.slice.apply( this, arguments ) );
        },
@@ -1345,9 +1354,10 @@ jQuery.extend({
         * @type undefined
         * @cat Core 
         */
-       noConflict: function() {
-               if ( jQuery._$ )
-                       $ = jQuery._$;
+       noConflict: function(deep) {
+               window.$ = _$;
+               if ( deep )
+                       window.jQuery = _jQuery;
                return jQuery;
        },
 
@@ -1428,7 +1438,7 @@ jQuery.extend({
                                        fn.call( obj[i], i, obj[i] );
                        else
                                for ( var i = 0, ol = obj.length, val = obj[0]; 
-                                       i < ol && fn.call(val,i,val) !== false; val = obj[++i] );
+                                       i < ol && fn.call(val,i,val) !== false; val = obj[++i] ){}
                }
 
                return obj;
@@ -1851,7 +1861,7 @@ jQuery.extend({
                // If a string is passed in for the function, make a function
                // for it (a handy shortcut)
                if ( typeof fn == "string" )
-                       fn = new Function("a","i","return " + fn);
+                       fn = eval("false||function(a,i){return " + fn + "}");
 
                var result = [];
 
@@ -1905,7 +1915,7 @@ jQuery.extend({
                // If a string is passed in for the function, make a function
                // for it (a handy shortcut)
                if ( typeof fn == "string" )
-                       fn = new Function("a","return " + fn);
+                       fn = eval("false||function(a){return " + fn + "}");
 
                var result = [];
 
@@ -2221,7 +2231,8 @@ jQuery.each({
        appendTo: "append",
        prependTo: "prepend",
        insertBefore: "before",
-       insertAfter: "after"
+       insertAfter: "after",
+       replaceAll: "replaceWith"
 }, function(i,n){
        jQuery.fn[ i ] = function(){
                var a = arguments;
@@ -2416,6 +2427,7 @@ jQuery.each( {
  * @param String str The string that will be contained within the text of an element.
  * @cat DOM/Traversing
  */
+// DEPRECATED
 jQuery.each( [ "eq", "lt", "gt", "contains" ], function(i,n){
        jQuery.fn[ n ] = function(num,fn) {
                return this.filter( ":" + n + "(" + num + ")", fn );