Handle preserved element that might not be existing

This commit is contained in:
Andy 2021-02-05 04:16:02 +00:00 committed by Andy Hung
parent 6d65d078e7
commit dcd8f27988
2 changed files with 12 additions and 1 deletions

View File

@ -479,7 +479,9 @@ return (function () {
forEach(findAll(fragment, '[hx-preserve], [data-hx-preserve]'), function (preservedElt) {
var id = getAttributeValue(preservedElt, "id");
var oldElt = getDocument().getElementById(id);
preservedElt.parentNode.replaceChild(oldElt, preservedElt);
if (oldElt != null) {
preservedElt.parentNode.replaceChild(oldElt, preservedElt);
}
});
}

View File

@ -17,5 +17,14 @@ describe("hx-preserve attribute", function () {
byId("d2").innerHTML.should.equal("New Content");
})
it('handles preserved element that might not be existing', function () {
this.server.respondWith("GET", "/test", "<div id='d1' hx-preserve>New Content</div><div id='d2'>New Content</div>");
var div = make("<div hx-get='/test'><div id='d2'>Old Content</div></div>");
div.click();
this.server.respond();
byId("d1").innerHTML.should.equal("New Content");
byId("d2").innerHTML.should.equal("New Content");
})
});