óÀ½¿¡´Â ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ¹®ÀÚ¿À» "template element"·Î ¸¸µé·Á°í Çß´Ù. ÀÚ¹Ù½ºÅ©¸³Æ® ¹®ÀÚ¿À» "template element" ´ë½Å fragment·Î ¸¸µé¾îµµ ÃæºÐ ÇÒ°Í °°´Ù´Â »ý°¢ÀÌ µé¾ú´Ù. fragment¿¡¼ innerHTML »ç¿ëÇϱâfragment¿¡¼´Â innerHTMLÀ» »ç¿ë ÇÒ¼ö ¾ø´Ù.div.innerHTML·Î ÀÐÀºÈÄ¿¡ ºÎ¸ð¸¦ fragment·Î ¹Ù²Ù¸é µÈ´Ù. function writeFragment(parentElement, childString) {
let frag = document.createDocumentFragment(); let divEl = document.createElement('div'); divEl.innerHTML = childString; while(divEl.children.length) { frag.appendChild(divEl.children[0]); } parentElement.appendChild(frag); } let temp = `<div>»ç´Â ³ÝÀÌ´Ù</div> <div>¿À´Â ´Ù¼¸ÀÌ´Ù</div>`; writeFragment(document.body, temp); fragment clone Çϱâfragment°¡ ÀÌ¹Ì ÀÖÀ¸¸é Á¸ÀçÇÏ´Â fragment¸¦ ¸®ÅÏÇÑ´Ù.¾øÀ¸¸é fragment¸¦ »ý¼ºÇÑ´Ù. let getFragment = (function (childString, fragId) {
let fragList = []; return function(childString, fragId) { if(fragList[fragId]) { console.log(fragId, 'ÇÁ·¡±×¸ÕÆ®°¡ ÀÖ½À´Ï´Ù.'); return fragList[fragId]; } let frag = document.createDocumentFragment(); let divEl = document.createElement('div'); divEl.innerHTML = childString; while(divEl.children.length) { frag.appendChild(divEl.children[0]); } fragList[fragId] = frag; console.log(fragId, 'Ãß°¡'); return fragList[fragId]; } })(); document.body.appendChild(frag.cloneNode(true)); ´Ù¿î·Îµå : fragment_write.html ÂüÁ¶) http://programmer-seva.tistory.com/60 |