]> source.dussan.org Git - jquery.git/commitdiff
Revert "Core: Remove deprecated context and selector properties"
authorOleg Gaidarenko <markelog@gmail.com>
Fri, 13 Nov 2015 13:27:18 +0000 (16:27 +0300)
committerOleg Gaidarenko <markelog@gmail.com>
Fri, 13 Nov 2015 17:04:19 +0000 (20:04 +0300)
This reverts commit 0ea8c32863af31fb5cfc184e8d513bbae35583e8.

src/core.js
src/core/init.js
src/traversing/findFilter.js
test/unit/core.js
test/unit/offset.js

index 771a30f8099728c12db1ab1131e5c6be7ab75249..72f4de2a05c4c9913c1a8073da4af818c34ee044 100644 (file)
@@ -42,6 +42,9 @@ jQuery.fn = jQuery.prototype = {
 
        constructor: jQuery,
 
+       // Start with an empty selector
+       selector: "",
+
        // The default length of a jQuery object is 0
        length: 0,
 
@@ -70,6 +73,7 @@ jQuery.fn = jQuery.prototype = {
 
                // Add the old object onto the stack (as a reference)
                ret.prevObject = this;
+               ret.context = this.context;
 
                // Return the newly-formed element set
                return ret;
index a00d587915fcf05fdf469eeb2f2b1831be1a1146..915d992b3c5efce2bf7ad836183d7e356faaf808 100644 (file)
@@ -79,9 +79,12 @@ var rootjQuery,
                                        if ( elem ) {
 
                                                // Inject the element directly into the jQuery object
-                                               this[ 0 ] = elem;
                                                this.length = 1;
+                                               this[0] = elem;
                                        }
+
+                                       this.context = document;
+                                       this.selector = selector;
                                        return this;
                                }
 
@@ -97,7 +100,7 @@ var rootjQuery,
 
                // HANDLE: $(DOMElement)
                } else if ( selector.nodeType ) {
-                       this[ 0 ] = selector;
+                       this.context = this[0] = selector;
                        this.length = 1;
                        return this;
 
@@ -111,6 +114,11 @@ var rootjQuery,
                                selector( jQuery );
                }
 
+               if ( selector.selector !== undefined ) {
+                       this.selector = selector.selector;
+                       this.context = selector.context;
+               }
+
                return jQuery.makeArray( selector, this );
        };
 
index ee76a57a7525b511967a7d9355fab21e20900ac0..7d4b2cab9ecfc2583c314c0237107ce751b2a37e 100644 (file)
@@ -72,7 +72,10 @@ jQuery.fn.extend( {
                        jQuery.find( selector, self[ i ], ret );
                }
 
-               return this.pushStack( len > 1 ? jQuery.uniqueSort( ret ) : ret );
+               // Needed because $( selector, context ) becomes $( context ).find( selector )
+               ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
+               ret.selector = this.selector ? this.selector + " " + selector : selector;
+               return ret;
        },
        filter: function( selector ) {
                return this.pushStack( winnow( this, selector || [], false ) );
index 49ad24023451e16c21f6b732a5b4b9ae05da193c..528d5f593f51f4005a98d4257126511694151105 100644 (file)
@@ -53,10 +53,10 @@ QUnit.test( "jQuery()", function( assert ) {
 
        // Basic constructor's behavior
        assert.equal( jQuery().length, 0, "jQuery() === jQuery([])" );
-       assert.equal( jQuery( undefined ).length, 0, "jQuery(undefined) === jQuery([])" );
-       assert.equal( jQuery( null ).length, 0, "jQuery(null) === jQuery([])" );
-       assert.equal( jQuery( "" ).length, 0, "jQuery('') === jQuery([])" );
-       assert.deepEqual( jQuery( obj ).get(), obj.get(), "jQuery(jQueryObj) == jQueryObj" );
+       assert.equal( jQuery(undefined).length, 0, "jQuery(undefined) === jQuery([])" );
+       assert.equal( jQuery(null).length, 0, "jQuery(null) === jQuery([])" );
+       assert.equal( jQuery("").length, 0, "jQuery('') === jQuery([])" );
+       assert.equal( jQuery(obj).selector, "div", "jQuery(jQueryObj) == jQueryObj" );
 
        // Invalid #id goes to Sizzle which will throw an error (gh-1682)
        try {
@@ -166,6 +166,7 @@ QUnit.test( "globalEval", function( assert ) {
        assert.equal( window.globalEvalTest, 3, "Test context (this) is the window object" );
 } );
 
+
 QUnit.test( "globalEval with 'use strict'", function( assert ) {
        assert.expect( 1 );
        Globals.register( "strictEvalTest" );
index 88e75950b4ff59af2f02cfd2c6f65c716db9bbd0..2ee0c12ead599c2730c58d811678b790d3b306db 100644 (file)
@@ -496,10 +496,10 @@ testIframe( "offset/body", "body", function( $, window, document, assert ) {
 QUnit.test( "chaining", function( assert ) {
        assert.expect( 3 );
        var coords = { "top":  1, "left":  1 };
-       assert.equal( jQuery( "#absolute-1" ).offset( coords ).jquery, jQuery.fn.jquery, "offset(coords) returns jQuery object" );
-       assert.equal( jQuery( "#non-existent" ).offset( coords ).jquery, jQuery.fn.jquery, "offset(coords) with empty jQuery set returns jQuery object" );
-       assert.equal( jQuery( "#absolute-1" ).offset( undefined ).jquery, jQuery.fn.jquery, "offset(undefined) returns jQuery object (#5571)" );
-} );
+       assert.equal( jQuery("#absolute-1").offset(coords).selector, "#absolute-1", "offset(coords) returns jQuery object" );
+       assert.equal( jQuery("#non-existent").offset(coords).selector, "#non-existent", "offset(coords) with empty jQuery set returns jQuery object" );
+       assert.equal( jQuery("#absolute-1").offset(undefined).selector, "#absolute-1", "offset(undefined) returns jQuery object (#5571)" );
+});
 
 QUnit.test( "offsetParent", function( assert ) {
        assert.expect( 13 );