Attribute hooks do not need to be attached in XML docs. Fixes #9568.
This commit is contained in:
parent
39a2f29c29
commit
641ad80211
3 changed files with 22 additions and 18 deletions
|
@ -320,21 +320,23 @@ jQuery.extend({
|
|||
notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
|
||||
|
||||
// Normalize the name if needed
|
||||
name = notxml && jQuery.attrFix[ name ] || name;
|
||||
if ( notxml ) {
|
||||
name = jQuery.attrFix[ name ] || name;
|
||||
|
||||
hooks = jQuery.attrHooks[ name ];
|
||||
hooks = jQuery.attrHooks[ name ];
|
||||
|
||||
if ( !hooks ) {
|
||||
// Use boolHook for boolean attributes
|
||||
if ( rboolean.test( name ) ) {
|
||||
if ( !hooks ) {
|
||||
// Use boolHook for boolean attributes
|
||||
if ( rboolean.test( name ) ) {
|
||||
|
||||
hooks = boolHook;
|
||||
hooks = boolHook;
|
||||
|
||||
// Use formHook for forms and if the name contains certain characters
|
||||
} else if ( formHook && name !== "className" &&
|
||||
(jQuery.nodeName( elem, "form" ) || rinvalidChar.test( name )) ) {
|
||||
// Use formHook for forms and if the name contains certain characters
|
||||
} else if ( formHook && name !== "className" &&
|
||||
(jQuery.nodeName( elem, "form" ) || rinvalidChar.test( name )) ) {
|
||||
|
||||
hooks = formHook;
|
||||
hooks = formHook;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -465,10 +467,11 @@ jQuery.extend({
|
|||
var ret, hooks,
|
||||
notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
|
||||
|
||||
// Try to normalize/fix the name
|
||||
name = notxml && jQuery.propFix[ name ] || name;
|
||||
|
||||
hooks = jQuery.propHooks[ name ];
|
||||
if ( notxml ) {
|
||||
// Fix name and attach hooks
|
||||
name = jQuery.propFix[ name ] || name;
|
||||
hooks = jQuery.propHooks[ name ];
|
||||
}
|
||||
|
||||
if ( value !== undefined ) {
|
||||
if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue