diff --git a/src/htmx.js b/src/htmx.js index 47048179..dba6cdea 100644 --- a/src/htmx.js +++ b/src/htmx.js @@ -267,7 +267,7 @@ return (function () { if (selector) { return eltOrSelector.querySelector(selector); } else { - return getDocument().body.querySelector(eltOrSelector); + return find(getDocument(), eltOrSelector); } } @@ -275,7 +275,7 @@ return (function () { if (selector) { return eltOrSelector.querySelectorAll(selector); } else { - return getDocument().body.querySelectorAll(eltOrSelector); + return findAll(getDocument(), eltOrSelector); } } @@ -623,7 +623,12 @@ return (function () { function selectAndSwap(swapStyle, target, elt, responseText, settleInfo) { var title = findTitle(responseText); if(title) { - window.document.title = title; + var titleElt = find("title"); + if(titleElt) { + titleElt.innerHTML = title; + } else { + window.document.title = title; + } } var fragment = makeFragment(responseText); if (fragment) { diff --git a/test/core/ajax.js b/test/core/ajax.js index 76b56ff8..2af5731d 100644 --- a/test/core/ajax.js +++ b/test/core/ajax.js @@ -773,5 +773,17 @@ describe("Core htmx AJAX Tests", function(){ window.document.title.should.equal("htmx rocks!"); }); + it('title update does not URL escapte', function() + { + this.server.respondWith("GET", "/test", function (xhr) { + xhr.respond(200, {}, "</> htmx rocks!Clicked!"); + }); + var btn = make('') + btn.click(); + this.server.respond(); + btn.innerText.should.equal("Clicked!"); + window.document.title.should.equal(" htmx rocks!"); + }); + })