我想使用DocumentFragment和querySelector來製作和修改DocumentFragments。我使用一些代碼從Inserting arbitrary HTML into a DocumentFragment創建從HTML字符串片段:DocumentFragment中不允許使用某些元素?
stringToDocumentFragment = function(html_string) {
var frag = document.createDocumentFragment();
var holder = document.createElement("div")
holder.innerHTML = html_string
frag.appendChild(holder)
return frag
}
而且它的工作原理:
test_one = stringToDocumentFragment('<one><two>test</two></one>')
#document-fragment
test_one.querySelector('one')
> <one>...</one>
不過,如果我使用的元素,如<html>
或<body>
,它失敗:
test_two = stringToDocumentFragment('<html><body>test</body></html>')
#document-fragment
test_two.querySelector('html')
null
Chrome和Firefox的行爲都是相同的。
'div'元素實際上不能包裝'html'或'body'元素,並且它不需要。這裏真的有問題嗎? – Esailija
首先,爲什麼要''和'
'? – Joseph@Joseph目的是要執行服務器端的DOM構建。我只想先讓它在瀏覽器中工作。 – mikemaccana