Fixed some bugs with attribute handling.
authorJohn Resig <jeresig@gmail.com>
Wed, 9 Aug 2006 05:44:25 +0000 (05:44 +0000)
committerJohn Resig <jeresig@gmail.com>
Wed, 9 Aug 2006 05:44:25 +0000 (05:44 +0000)
jquery/jquery.js

index 50bbde3..ebf1038 100644 (file)
@@ -241,7 +241,7 @@ jQuery.fn = jQuery.prototype = {
         */
        attr: function( key, value, type ) {
                // Check to see if we're setting style values
-               return key.constructor != String || value ?
+               return key.constructor != String || value != undefined ?
                        this.each(function(){
                                // See if we're setting a hash of styles
                                if ( value == undefined )
@@ -759,6 +759,12 @@ jQuery.extend({
                                return this.each( n, arguments );
                        };
                });
+
+               jQuery.each( jQuery.macros.filter, function(i,n){
+                       jQuery.fn[ n ] = function(num,fn) {
+                               return this.filter( ":" + n + "(" + num + ")", fn );
+                       };
+               });
                
                jQuery.each( jQuery.macros.attr, function(i,n){
                        n = n || i;
@@ -1739,6 +1745,8 @@ jQuery.macros = {
        
        css: "width,height,top,left,position,float,overflow,color,background".split(","),
 
+       filter: [ "eq", "lt", "gt", "contains" ],
+
        attr: {
                /**
                 * Get the current value of the first matched element.