// Return the named cache data, or the ID for the element
                return name ?
-                       jQuery.cache[ id ][ name ] :
+                       jQuery.cache[ id ][ name ] || null :
                        id;
        },
 
                // Also, we need to make sure that the correct elements are being returned
                // (IE returns comment nodes in a '*' query)
                if ( jQuery.browser.msie ) {
-                       while ( elem = second[ i++ ] )
+                       while ( (elem = second[ i++ ]) )
                                if ( elem.nodeType != 8 )
                                        first[ pos++ ] = elem;
 
                } else
-                       while ( elem = second[ i++ ] )
+                       while ( (elem = second[ i++ ]) )
                                first[ pos++ ] = elem;
 
                return first;
 
                        handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function(){
                                // Handle the second event of a trigger and when
                                // an event is called after a page has unloaded
-                               if ( typeof jQuery !== "undefined" && !jQuery.event.triggered )
-                                       return jQuery.event.handle.apply(arguments.callee.elem, arguments);
+                               return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
+                                       jQuery.event.handle.apply(arguments.callee.elem, arguments) :
+                                       undefined;
                        });
                // Add elem as a property of the handle function
                // This is to prevent a memory leak with non-native
 
        var method = 'scroll' + name;
        
        jQuery.fn[ method ] = function(val) {
-               if (!this[0]) return;
+               if (!this[0]) return null;
 
                return val !== undefined ?