fix: use document.createDocumentFragment()

So that it works on all browsers.