mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Fix #9646. Cloned nodes shouldn't affect original in IE7. Close gh-947.
This commit is contained in:
parent
0018f7700b
commit
13651f296d
@ -522,7 +522,15 @@ if ( !getSetAttribute ) {
|
|||||||
ret = elem.ownerDocument.createAttribute( name );
|
ret = elem.ownerDocument.createAttribute( name );
|
||||||
elem.setAttributeNode( ret );
|
elem.setAttributeNode( ret );
|
||||||
}
|
}
|
||||||
return ( ret.value = value + "" );
|
|
||||||
|
ret.value = value += "";
|
||||||
|
|
||||||
|
// Break association with cloned elements (#9646)
|
||||||
|
if ( name !== "value" && value !== elem.getAttribute( name ) ) {
|
||||||
|
elem.setAttribute( name, value );
|
||||||
|
}
|
||||||
|
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -156,6 +156,30 @@ test( "attr(String)", function() {
|
|||||||
|
|
||||||
$form = jQuery("#form").attr( "enctype", "multipart/form-data" );
|
$form = jQuery("#form").attr( "enctype", "multipart/form-data" );
|
||||||
equal( $form.prop("enctype"), "multipart/form-data", "Set the enctype of a form (encoding in IE6/7 #6743)" );
|
equal( $form.prop("enctype"), "multipart/form-data", "Set the enctype of a form (encoding in IE6/7 #6743)" );
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
test( "attr(String) on cloned elements, #9646", function() {
|
||||||
|
expect( 4 );
|
||||||
|
|
||||||
|
var div,
|
||||||
|
input = jQuery("<input name='tester' />");
|
||||||
|
|
||||||
|
input.attr("name");
|
||||||
|
|
||||||
|
strictEqual( input.clone( true ).attr( "name", "test" )[ 0 ].name, "test", "Name attribute should be changed on cloned element" );
|
||||||
|
|
||||||
|
div = jQuery("<div id='tester' />");
|
||||||
|
div.attr("id");
|
||||||
|
|
||||||
|
strictEqual( div.clone( true ).attr( "id", "test" )[ 0 ].id, "test", "Id attribute should be changed on cloned element" );
|
||||||
|
|
||||||
|
input = jQuery("<input value='tester' />");
|
||||||
|
input.attr("value");
|
||||||
|
|
||||||
|
strictEqual( input.clone( true ).attr( "value", "test" )[ 0 ].value, "test", "Value attribute should be changed on cloned element" );
|
||||||
|
|
||||||
|
strictEqual( input.clone( true ).attr( "value", 42 )[ 0 ].value, "42", "Value attribute should be changed on cloned element" );
|
||||||
});
|
});
|
||||||
|
|
||||||
test( "attr(String) in XML Files", function() {
|
test( "attr(String) in XML Files", function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user