DOMのDocumentFragmentですが、今まで使おうと思ったことがありませんでした。使わなくても特に不自由しなかったからです。しかし、これを使わないと洒落にならない事例に出くわしました。
なんだか長くなったので別の文書にしました。
JavaScript有効かつDOM1 HTML対応なブラウザなら処理速度を体験できるようになっています。次の実装チェックボタンを押しても何も起らなかったり、falseとアラートされた場合、体験できません。
innerHTMLを利用した場合と比較していますが、innerHTMLはMSの独自拡張です。対応していない場合はエラーになります。ご了承ください。
私が認識しているDocumentFragmentの主な特徴は、以下の通りです。
たとえば,DocumentFragment がもってよい子は1つだけであり,その子ノードは Text ノードであってもよい。
DOM1(コア) より
これは誤読される可能性が高いのではないでしょうか。DocumentFragmentは幾つでも子を持てます。そしてそれが重要な特徴です。原文はこちら:
For example, a DocumentFragment might have only one child and that child node could be a Text node.
Document Object Model (Core) Level 1 より
これは、DocumentFragmentの子が整形式のXMLでなくても良いという文脈で語られています。その例というわけです。私なら次のように訳します。
that child nodeを「それ」と訳しましたが、「その子ノード」と直訳すると、「その」が何なのか不明瞭になります。