Fix for #806
[jquery.git] / src / jquery / jquery.js
index 0b0972e..f756b67 100644 (file)
@@ -38,14 +38,14 @@ var jQuery = function(a,c) {
        
        // Handle HTML strings
        if ( typeof a  == "string" ) {
+               // HANDLE: $(html) -> $(array)
                var m = /^[^<]*(<.+>)[^>]*$/.exec(a);
-
-               a = m ?
-                       // HANDLE: $(html) -> $(array)
-                       jQuery.clean( [ m[1] ] ) :
+               if ( m )
+                       a = jQuery.clean( [ m[1] ] );
                
-                       // HANDLE: $(expr)
-                       jQuery.find( a, c );
+               // HANDLE: $(expr)
+               else
+                       return new jQuery( c ).find( a );
        }
        
        return this.setArray(
@@ -985,7 +985,7 @@ jQuery.fn = jQuery.prototype = {
        add: function(t) {
                return this.pushStack( jQuery.merge(
                        this.get(),
-                       typeof t == "string" ? jQuery(t).get() : t )
+                       typeof t == "string" ? jQuery(t).get() : t.length ? t : [t] )
                );
        },
 
@@ -1556,21 +1556,22 @@ jQuery.extend({
        /**
         * Merge two arrays together, removing all duplicates.
         *
-        * The new array is: All the results from the first array, followed
-        * by the unique results from the second array.
+        * The result is the altered first argument with
+        * the unique elements from the second array added.
         *
         * @example $.merge( [0,1,2], [2,3,4] )
         * @result [0,1,2,3,4]
         * @desc Merges two arrays, removing the duplicate 2
         *
-        * @example $.merge( [3,2,1], [4,3,2] )
-        * @result [3,2,1,4]
+        * @example var array = [3,2,1];
+        * $.merge( array, [4,3,2] )
+        * @result array == [3,2,1,4]
         * @desc Merges two arrays, removing the duplicates 3 and 2
         *
         * @name $.merge
         * @type Array
-        * @param Array first The first array to merge.
-        * @param Array second The second array to merge.
+        * @param Array first The first array to merge, the unique elements of second added.
+        * @param Array second The second array to merge into the first, unaltered.
         * @cat JavaScript
         */
        merge: function(first, second) {