mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Attributes: Shave off a couple of bytes
The `attrHooks` entries for boolean attributes are only defined for jQuery 4+; jQuery 3.x used a separate mechanism - assigning them to `jQuery.expr.attrHandle`. That object used to be maintained by Sizzle, since jQuery 3.7.0 it's kept in the selector module. Because of that, the `isXMLDoc` check used to be require in this hook. Now that standard `attrHooks` are used, the `isXMLDoc` check already happens inside of `jQuery.attr` and there's no need to repeat it in the test. Note that this repetition is even incorrect - while Sizzle's `jQuery.find.attr` used to treat an `undefined` output of the hooks from `jQuery.expr.attrHandle` as a way to opt out of the hook, jQuery's `attrHooks` use `null` to opt out of a getter hook. Apart from the size, this patch also avoids unnecessary extra checks. Closes gh-5398
This commit is contained in:
parent
805cdb43fd
commit
b40a4807b6
@ -108,16 +108,9 @@ jQuery.each( (
|
|||||||
).split( " " ), function( _i, name ) {
|
).split( " " ), function( _i, name ) {
|
||||||
jQuery.attrHooks[ name ] = {
|
jQuery.attrHooks[ name ] = {
|
||||||
get: function( elem ) {
|
get: function( elem ) {
|
||||||
var ret,
|
return elem.getAttribute( name ) != null ?
|
||||||
isXML = jQuery.isXMLDoc( elem ),
|
name.toLowerCase() :
|
||||||
lowercaseName = name.toLowerCase();
|
|
||||||
|
|
||||||
if ( !isXML ) {
|
|
||||||
ret = elem.getAttribute( name ) != null ?
|
|
||||||
lowercaseName :
|
|
||||||
null;
|
null;
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
set: function( elem, value, name ) {
|
set: function( elem, value, name ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user