Make sure that jQuery works even when the individual modules are loaded separately...
[jquery.git] / src / attributes.js
index d2fc202..73b4cdf 100644 (file)
@@ -1,3 +1,5 @@
+(function( jQuery ) {
+
 var rclass = /[\n\t]/g,
        rspace = /\s+/,
        rreturn = /\r/g,
@@ -325,6 +327,12 @@ jQuery.extend({
                                elem.setAttribute( name, "" + value );
                        }
 
+                       // Ensure that missing attributes return undefined
+                       // Blackberry 4.7 returns "" from getAttribute #6938
+                       if ( !elem.attributes[ name ] && !elem.hasAttribute( name ) ) {
+                               return undefined;
+                       }
+
                        var attr = !jQuery.support.hrefNormalized && notxml && special ?
                                        // Some attributes require a special call on IE
                                        elem.getAttribute( name, 2 ) :
@@ -339,3 +347,5 @@ jQuery.extend({
                return jQuery.style( elem, name, value );
        }
 });
+
+})( jQuery );