mirror of
https://github.com/jquery/jquery.git
synced 2025-01-10 18:24:24 +00:00
Fix #9960, allow manipulation for parent document nodes. Close gh-924.
This commit is contained in:
parent
3fce794844
commit
78c1560065
@ -154,3 +154,4 @@ Allen J Schmidt Jr <cobrasoft@gmail.com>
|
|||||||
Marcel Greter <marcel.greter@ocbnet.ch>
|
Marcel Greter <marcel.greter@ocbnet.ch>
|
||||||
Matthias Jäggli <matthias.jaeggli@gmail.com>
|
Matthias Jäggli <matthias.jaeggli@gmail.com>
|
||||||
Yiming He <yiminghe@gmail.com>
|
Yiming He <yiminghe@gmail.com>
|
||||||
|
Devin Cooper <cooper.semantics@gmail.com>
|
||||||
|
@ -126,7 +126,7 @@ jQuery.fn.extend({
|
|||||||
|
|
||||||
append: function() {
|
append: function() {
|
||||||
return this.domManip(arguments, true, function( elem ) {
|
return this.domManip(arguments, true, function( elem ) {
|
||||||
if ( this.nodeType === 1 || this.nodeType === 11 ) {
|
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
|
||||||
this.appendChild( elem );
|
this.appendChild( elem );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -134,7 +134,7 @@ jQuery.fn.extend({
|
|||||||
|
|
||||||
prepend: function() {
|
prepend: function() {
|
||||||
return this.domManip(arguments, true, function( elem ) {
|
return this.domManip(arguments, true, function( elem ) {
|
||||||
if ( this.nodeType === 1 || this.nodeType === 11 ) {
|
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
|
||||||
this.insertBefore( elem, this.firstChild );
|
this.insertBefore( elem, this.firstChild );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -527,6 +527,24 @@ test("append(Function) with incoming value", function() {
|
|||||||
QUnit.reset();
|
QUnit.reset();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("replaceWith on XML document (#9960)", function () {
|
||||||
|
expect( 1 );
|
||||||
|
|
||||||
|
var newNode,
|
||||||
|
xmlDoc1 = jQuery.parseXML("<scxml xmlns='http://www.w3.org/2005/07/scxml' version='1.0'><state x='100' y='100' initial='actions' id='provisioning'></state><state x='100' y='100' id='error'></state><state x='100' y='100' id='finished' final='true'></state></scxml>"),
|
||||||
|
xmlDoc2 = jQuery.parseXML("<scxml xmlns='http://www.w3.org/2005/07/scxml' version='1.0'><state id='provisioning3'></state></scxml>"),
|
||||||
|
xml1 = jQuery( xmlDoc1 ),
|
||||||
|
xml2 = jQuery( xmlDoc2 ),
|
||||||
|
scxml1 = jQuery( ":first", xml1 ),
|
||||||
|
scxml2 = jQuery( ":first", xml2 );
|
||||||
|
|
||||||
|
scxml1.replaceWith( scxml2 );
|
||||||
|
|
||||||
|
newNode = jQuery( ":first>state[id='provisioning3']", xml1 );
|
||||||
|
|
||||||
|
equal( newNode.length, 1, "ReplaceWith not working on document nodes." );
|
||||||
|
});
|
||||||
|
|
||||||
test("append the same fragment with events (Bug #6997, 5566)", function () {
|
test("append the same fragment with events (Bug #6997, 5566)", function () {
|
||||||
var doExtra = !jQuery.support.noCloneEvent && document["fireEvent"];
|
var doExtra = !jQuery.support.noCloneEvent && document["fireEvent"];
|
||||||
expect(2 + (doExtra ? 1 : 0));
|
expect(2 + (doExtra ? 1 : 0));
|
||||||
|
Loading…
Reference in New Issue
Block a user