Added support .css("left",30). Fixed up the multiFilter code.
authorJohn Resig <jeresig@gmail.com>
Wed, 10 Jan 2007 18:06:19 +0000 (18:06 +0000)
committerJohn Resig <jeresig@gmail.com>
Wed, 10 Jan 2007 18:06:19 +0000 (18:06 +0000)
src/jquery/jquery.js
src/selector/selector.js

index cc0af52..46019bf 100644 (file)
@@ -432,7 +432,7 @@ jQuery.fn = jQuery.prototype = {
                        for ( var prop in obj )
                                jQuery.attr(
                                        type ? this.style : this,
-                                       prop, jQuery.prop(this, obj[prop])
+                                       prop, jQuery.prop(this, obj[prop], type)
                                );
                });
        },
@@ -477,16 +477,22 @@ jQuery.fn = jQuery.prototype = {
 
        /**
         * Set a single style property to a value, on all matched elements.
+        * If a number is provided, it is automatically converted into a pixel value.
         *
         * @example $("p").css("color","red");
         * @before <p>Test Paragraph.</p>
         * @result <p style="color:red;">Test Paragraph.</p>
         * @desc Changes the color of all paragraphs to red
         *
+        * @example $("p").css("left",30);
+        * @before <p>Test Paragraph.</p>
+        * @result <p style="left:30px;">Test Paragraph.</p>
+        * @desc Changes the left of all paragraphs to "30px"
+        *
         * @name css
         * @type jQuery
         * @param String key The name of the property to set.
-        * @param Object value The value to set the property to.
+        * @param String|Number value The value to set the property to.
         * @cat CSS
         */
        css: function( key, value ) {
@@ -1236,10 +1242,16 @@ jQuery.extend({
                return obj;
        },
        
-       prop: function(elem, value){
-               // Handle executable functions
-               return value.constructor == Function &&
-                       value.call( elem ) || value;
+       prop: function(elem, value, type){
+                       // Handle executable functions
+                       if ( value.constructor == Function )
+                               return value.call( elem )
+
+                       // Handle passing in a number to a CSS property
+                       if ( value.constructor == Number && type == "css" )
+                               return value + "px";
+
+                       return value;
        },
 
        className: {
index 1bad21b..40ac53d 100644 (file)
@@ -93,16 +93,11 @@ jQuery.extend({
                var old, cur = [];
 
                while ( expr && expr != old ) {
-console.log( cur, expr, elems, not );
+                       old = expr;
                        var f = jQuery.filter( expr, elems, not );
                        expr = f.t.replace(/^\s*,\s*/, "" );
-
-                       if ( not )
-                               cur = elems = f.r;
-                       else
-                               cur = jQuery.merge( cur, f.r );
+                       cur = not ? elems = f.r : jQuery.merge( cur, f.r );
                }
-console.log( "DONE", cur, expr, elems, not );
 
                return cur;
        },