mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Fix #12048. Set attributes for XML fragments. Close gh-965.
This commit is contained in:
parent
144b8bfead
commit
2b0e720406
@ -523,7 +523,7 @@ if ( !getSetAttribute ) {
|
||||
// Set the existing or create a new attribute node
|
||||
var ret = elem.getAttributeNode( name );
|
||||
if ( !ret ) {
|
||||
ret = document.createAttribute( name );
|
||||
ret = elem.ownerDocument.createAttribute( name );
|
||||
elem.setAttributeNode( ret );
|
||||
}
|
||||
return ( ret.value = value + "" );
|
||||
|
@ -41,6 +41,7 @@
|
||||
"testIframe": true,
|
||||
"testIframeWithCallback": true,
|
||||
"createDashboardXML": true,
|
||||
"createXMLFragment": true,
|
||||
"moduleTeardown": true,
|
||||
"testFoo": true,
|
||||
"foobar": true,
|
||||
|
@ -102,6 +102,21 @@ var createWithFriesXML = function() {
|
||||
return jQuery.parseXML(string);
|
||||
};
|
||||
|
||||
var createXMLFragment = function() {
|
||||
var xml, frag;
|
||||
if ( window.ActiveXObject ) {
|
||||
xml = new ActiveXObject("msxml2.domdocument");
|
||||
} else {
|
||||
xml = document.implementation.createDocument( "", "", null );
|
||||
}
|
||||
|
||||
if ( xml ) {
|
||||
frag = xml.createElement("data");
|
||||
}
|
||||
|
||||
return frag;
|
||||
};
|
||||
|
||||
var fireNative;
|
||||
if ( document.createEvent ) {
|
||||
fireNative = function( node, type ) {
|
||||
|
@ -522,6 +522,17 @@ test( "attr(String, Object) - Loaded via XML document", function() {
|
||||
equal( titles[ 1 ], "Users", "attr() in XML context: Check second title" );
|
||||
});
|
||||
|
||||
test( "attr(String, Object) - Loaded via XML fragment", function() {
|
||||
expect( 2 );
|
||||
var frag = createXMLFragment(),
|
||||
$frag = jQuery( frag );
|
||||
|
||||
$frag.attr( "test", "some value" );
|
||||
equal( $frag.attr("test"), "some value", "set attribute" );
|
||||
$frag.attr( "test", null );
|
||||
equal( $frag.attr("test"), undefined, "remove attribute" );
|
||||
});
|
||||
|
||||
test( "attr('tabindex')", function() {
|
||||
expect( 8 );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user