update components
This commit is contained in:
parent
7537bab562
commit
d84c5a7c1d
226 changed files with 51770 additions and 4157 deletions
|
@ -1,39 +1,38 @@
|
|||
define([
|
||||
define( [
|
||||
"../core",
|
||||
"../var/rnotwhite",
|
||||
"../var/strundefined",
|
||||
"../core/access",
|
||||
"./support",
|
||||
"../var/rnotwhite",
|
||||
"../selector"
|
||||
], function( jQuery, rnotwhite, strundefined, access, support ) {
|
||||
], function( jQuery, access, support, rnotwhite ) {
|
||||
|
||||
var nodeHook, boolHook,
|
||||
var boolHook,
|
||||
attrHandle = jQuery.expr.attrHandle;
|
||||
|
||||
jQuery.fn.extend({
|
||||
jQuery.fn.extend( {
|
||||
attr: function( name, value ) {
|
||||
return access( this, jQuery.attr, name, value, arguments.length > 1 );
|
||||
},
|
||||
|
||||
removeAttr: function( name ) {
|
||||
return this.each(function() {
|
||||
return this.each( function() {
|
||||
jQuery.removeAttr( this, name );
|
||||
});
|
||||
} );
|
||||
}
|
||||
});
|
||||
} );
|
||||
|
||||
jQuery.extend({
|
||||
jQuery.extend( {
|
||||
attr: function( elem, name, value ) {
|
||||
var hooks, ret,
|
||||
var ret, hooks,
|
||||
nType = elem.nodeType;
|
||||
|
||||
// don't get/set attributes on text, comment and attribute nodes
|
||||
if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
|
||||
// Don't get/set attributes on text, comment and attribute nodes
|
||||
if ( nType === 3 || nType === 8 || nType === 2 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Fallback to prop when attributes are not supported
|
||||
if ( typeof elem.getAttribute === strundefined ) {
|
||||
if ( typeof elem.getAttribute === "undefined" ) {
|
||||
return jQuery.prop( elem, name, value );
|
||||
}
|
||||
|
||||
|
@ -42,53 +41,32 @@ jQuery.extend({
|
|||
if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
|
||||
name = name.toLowerCase();
|
||||
hooks = jQuery.attrHooks[ name ] ||
|
||||
( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );
|
||||
( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
|
||||
}
|
||||
|
||||
if ( value !== undefined ) {
|
||||
|
||||
if ( value === null ) {
|
||||
jQuery.removeAttr( elem, name );
|
||||
return;
|
||||
}
|
||||
|
||||
} else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
|
||||
if ( hooks && "set" in hooks &&
|
||||
( ret = hooks.set( elem, value, name ) ) !== undefined ) {
|
||||
return ret;
|
||||
|
||||
} else {
|
||||
elem.setAttribute( name, value + "" );
|
||||
return value;
|
||||
}
|
||||
|
||||
} else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
|
||||
elem.setAttribute( name, value + "" );
|
||||
return value;
|
||||
}
|
||||
|
||||
if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
|
||||
return ret;
|
||||
|
||||
} else {
|
||||
ret = jQuery.find.attr( elem, name );
|
||||
|
||||
// Non-existent attributes return null, we normalize to undefined
|
||||
return ret == null ?
|
||||
undefined :
|
||||
ret;
|
||||
}
|
||||
},
|
||||
|
||||
removeAttr: function( elem, value ) {
|
||||
var name, propName,
|
||||
i = 0,
|
||||
attrNames = value && value.match( rnotwhite );
|
||||
ret = jQuery.find.attr( elem, name );
|
||||
|
||||
if ( attrNames && elem.nodeType === 1 ) {
|
||||
while ( (name = attrNames[i++]) ) {
|
||||
propName = jQuery.propFix[ name ] || name;
|
||||
|
||||
// Boolean attributes get special treatment (#10870)
|
||||
if ( jQuery.expr.match.bool.test( name ) ) {
|
||||
// Set corresponding property to false
|
||||
elem[ propName ] = false;
|
||||
}
|
||||
|
||||
elem.removeAttribute( name );
|
||||
}
|
||||
}
|
||||
// Non-existent attributes return null, we normalize to undefined
|
||||
return ret == null ? undefined : ret;
|
||||
},
|
||||
|
||||
attrHooks: {
|
||||
|
@ -105,13 +83,35 @@ jQuery.extend({
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
removeAttr: function( elem, value ) {
|
||||
var name, propName,
|
||||
i = 0,
|
||||
attrNames = value && value.match( rnotwhite );
|
||||
|
||||
if ( attrNames && elem.nodeType === 1 ) {
|
||||
while ( ( name = attrNames[ i++ ] ) ) {
|
||||
propName = jQuery.propFix[ name ] || name;
|
||||
|
||||
// Boolean attributes get special treatment (#10870)
|
||||
if ( jQuery.expr.match.bool.test( name ) ) {
|
||||
|
||||
// Set corresponding property to false
|
||||
elem[ propName ] = false;
|
||||
}
|
||||
|
||||
elem.removeAttribute( name );
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
} );
|
||||
|
||||
// Hooks for boolean attributes
|
||||
boolHook = {
|
||||
set: function( elem, value, name ) {
|
||||
if ( value === false ) {
|
||||
|
||||
// Remove boolean attributes when set to false
|
||||
jQuery.removeAttr( elem, name );
|
||||
} else {
|
||||
|
@ -126,6 +126,7 @@ jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name )
|
|||
attrHandle[ name ] = function( elem, name, isXML ) {
|
||||
var ret, handle;
|
||||
if ( !isXML ) {
|
||||
|
||||
// Avoid an infinite loop by temporarily removing this function from the getter
|
||||
handle = attrHandle[ name ];
|
||||
attrHandle[ name ] = ret;
|
||||
|
@ -136,6 +137,6 @@ jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name )
|
|||
}
|
||||
return ret;
|
||||
};
|
||||
});
|
||||
} );
|
||||
|
||||
});
|
||||
} );
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue