diff --git a/src/htmx.js b/src/htmx.js index a0a33396..e9f301aa 100644 --- a/src/htmx.js +++ b/src/htmx.js @@ -436,7 +436,7 @@ return (function () { function handleAttributes(parentNode, fragment, settleInfo) { forEach(fragment.querySelectorAll("[id]"), function (newNode) { if (newNode.id && newNode.id.length > 0) { - var oldNode = parentNode.querySelector(newNode.tagName + "[id=" + newNode.id + "]"); + var oldNode = parentNode.querySelector(newNode.tagName + "[id='" + newNode.id + "']"); if (oldNode && oldNode !== parentNode) { var newAttributes = newNode.cloneNode(); cloneAttributes(newNode, oldNode); diff --git a/test/core/regressions.js b/test/core/regressions.js index bc819029..21b0407e 100644 --- a/test/core/regressions.js +++ b/test/core/regressions.js @@ -64,5 +64,13 @@ describe("Core htmx Regression Tests", function(){ this.server.respond(); div.innerText.should.contain("Foo") }); + + it ('id with dot in value doesnt cause an error', function(){ + this.server.respondWith("GET", "/test", "Foo
"); + var div = make('
Get It
'); + div.click(); + this.server.respond(); + div.innerText.should.contain("Foo"); + }); })