2
document.createDocumentFragmentまたはdocument.createElementを使用する必要があります
私はドキュメントフラグメントとDOMリフローについて読んでいて、DOM要素に追加するまで、どちらもDOMに存在しないように見えるため、どのようにdocument.createDocumentFragment違うのか疑問に思いdocument.createElementました。 私はテスト(下記)を行い、すべて同じ時間(約95ms)かかりました。推測では、これは要素にスタイルが適用されていないためである可能性があり、おそらくリフローされていません。 とにかく、以下の例に基づいて、DOMに挿入するときではcreateDocumentFragmentなくなぜ使用する必要があるのかcreateElement、2つの違いは何ですか? var htmz = "<ul>"; for (var i = 0; i < 2001; i++) { htmz += '<li><a href="#">link ' + i + '</a></li>'; } htmz += '<ul>'; //createDocumentFragment console.time('first'); var div = document.createElement("div"); div.innerHTML = htmz; var fragment = document.createDocumentFragment(); while (div.firstChild) { fragment.appendChild(div.firstChild); } $('#first').append(fragment); console.timeEnd('first'); …
97
javascript
dom