Added support .css("left",30). Fixed up the multiFilter code.

This commit is contained in:
John Resig 2007-01-10 18:06:19 +00:00
parent f2ff0db032
commit 75b6bcdb42
2 changed files with 20 additions and 13 deletions

22
src/jquery/jquery.js vendored
View file

@ -432,7 +432,7 @@ jQuery.fn = jQuery.prototype = {
for ( var prop in obj ) for ( var prop in obj )
jQuery.attr( jQuery.attr(
type ? this.style : this, 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. * 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"); * @example $("p").css("color","red");
* @before <p>Test Paragraph.</p> * @before <p>Test Paragraph.</p>
* @result <p style="color:red;">Test Paragraph.</p> * @result <p style="color:red;">Test Paragraph.</p>
* @desc Changes the color of all paragraphs to red * @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 * @name css
* @type jQuery * @type jQuery
* @param String key The name of the property to set. * @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 * @cat CSS
*/ */
css: function( key, value ) { css: function( key, value ) {
@ -1236,10 +1242,16 @@ jQuery.extend({
return obj; return obj;
}, },
prop: function(elem, value){ prop: function(elem, value, type){
// Handle executable functions // Handle executable functions
return value.constructor == Function && if ( value.constructor == Function )
value.call( elem ) || value; 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: { className: {

View file

@ -93,16 +93,11 @@ jQuery.extend({
var old, cur = []; var old, cur = [];
while ( expr && expr != old ) { while ( expr && expr != old ) {
console.log( cur, expr, elems, not ); old = expr;
var f = jQuery.filter( expr, elems, not ); var f = jQuery.filter( expr, elems, not );
expr = f.t.replace(/^\s*,\s*/, "" ); expr = f.t.replace(/^\s*,\s*/, "" );
cur = not ? elems = f.r : jQuery.merge( cur, f.r );
if ( not )
cur = elems = f.r;
else
cur = jQuery.merge( cur, f.r );
} }
console.log( "DONE", cur, expr, elems, not );
return cur; return cur;
}, },