mirror of
https://github.com/bigskysoftware/htmx.git
synced 2025-10-04 16:25:09 +00:00
Merge pull request #350 from andyhorng/hx-preserve-fix
Handle preserved element that might not be existing
This commit is contained in:
commit
8c3ced2573
@ -497,7 +497,9 @@ return (function () {
|
|||||||
forEach(findAll(fragment, '[hx-preserve], [data-hx-preserve]'), function (preservedElt) {
|
forEach(findAll(fragment, '[hx-preserve], [data-hx-preserve]'), function (preservedElt) {
|
||||||
var id = getAttributeValue(preservedElt, "id");
|
var id = getAttributeValue(preservedElt, "id");
|
||||||
var oldElt = getDocument().getElementById(id);
|
var oldElt = getDocument().getElementById(id);
|
||||||
|
if (oldElt != null) {
|
||||||
preservedElt.parentNode.replaceChild(oldElt, preservedElt);
|
preservedElt.parentNode.replaceChild(oldElt, preservedElt);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,5 +17,14 @@ describe("hx-preserve attribute", function () {
|
|||||||
byId("d2").innerHTML.should.equal("New Content");
|
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");
|
||||||
|
})
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user