DocumentFragment
Baseline
åºãå©ç¨å¯è½
*
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
* ãã®æ©è½ã®ä¸é¨ã¯ã対å¿ã¬ãã«ãç°ãªãå ´åãããã¾ãã
DocumentFragment ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ã親ãã¼ããæããªãæå°éã®ææ¸ãªãã¸ã§ã¯ãï¼ææ¸ãã©ã°ã¡ã³ãï¼ã表ãã¾ãã
ãã㯠Document ã®è»½éçã¨ãã¦ä½¿ç¨ãããæ¨æºã®ææ¸ã®ããã«ãã¼ãã§æ§æãããææ¸æ§é ã®ä¸åºéãæ ¼ç´ãã¾ããéè¦ãªéãã¯ãææ¸ãã©ã°ã¡ã³ããã¢ã¯ãã£ããªææ¸ããªã¼æ§é ã®ä¸é¨ã§ã¯ãªããã¨ã§ãããã©ã°ã¡ã³ãã«å¯¾ãã¦å¤æ´ãè¡ã£ã¦ããææ¸ã«ã¯å½±é¿ãã¾ããã
ã³ã³ã¹ãã©ã¯ã¿ã¼
DocumentFragment()-
æ°ãã
DocumentFragmentãªãã¸ã§ã¯ãã使ãã¦è¿ãã¾ãã
ã¤ã³ã¹ã¿ã³ã¹ããããã£
ãã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«ã¯åºæã®ããããã£ã¯ããã¾ãããããã®è¦ªã§ãã Node ããç¶æ¿ããããããã£ãããã¾ãã
DocumentFragment.childElementCountèªåå°ç¨-
ãã®
DocumentFragmentãæã¤åè¦ç´ã®æ°ã表ãã¾ãã DocumentFragment.childrenèªåå°ç¨-
ãã®
DocumentFragmentãªãã¸ã§ã¯ãã®åã§ãããã¹ã¦ã®Elementåã®ãªãã¸ã§ã¯ããå«ããçããHTMLCollectionãè¿ãã¾ãã DocumentFragment.firstElementChildèªåå°ç¨-
ãã®
DocumentFragmentãªãã¸ã§ã¯ãã®æåã®åã§ããElementãè¿ãã¾ãããªããã°nullãè¿ãã¾ãã DocumentFragment.lastElementChildèªåå°ç¨-
ãã®
DocumentFragmentãªãã¸ã§ã¯ãã®æå¾ã®åã§ããElementãè¿ãã¾ãããªããã°nullãè¿ãã¾ãã
ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ãã
ãã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«ã¯ããã®è¦ªã§ãã Node ããç¶æ¿ããã¡ã½ãããããã¾ãã
DocumentFragment.append()-
ä¸é£ã®
Nodeãªãã¸ã§ã¯ãã¾ãã¯æååãããã®ææ¸ãã©ã°ã¡ã³ãã®æå¾ã®åã®å¾ã«è¿½å ãã¾ãã DocumentFragment.prepend()-
ä¸é£ã®
Nodeãªãã¸ã§ã¯ãã¾ãã¯æååãããã®ææ¸ãã©ã°ã¡ã³ãã®æåã®åã®åã«è¿½å ãã¾ãã DocumentFragment.querySelector()-
ãã®
DocumentFragmentã®ä¸ã§ãææ¸ã®é åºã§è¦ãå ´åã«ãæå®ãããã»ã¬ã¯ã¿ã¼ã«ä¸è´ããæåã®Elementãã¼ããè¿ãã¾ãã DocumentFragment.querySelectorAll()-
ãã®
DocumentFragmentã®ä¸ã§ãæå®ãããã»ã¬ã¯ã¿ã¼ã«ä¸è´ãããã¹ã¦ã®Elementãã¼ãã®NodeListãè¿ãã¾ãã DocumentFragment.moveBefore()-
æå®ããã
Nodeããå¼ã³åºãå ã®DocumentFragmentå ã«ç´æ¥ã®åã¨ãã¦ãæå®ãããåç §ãã¼ãã®åã«ç§»åãã¾ãããã¼ãã¯é¤å»ããããã¨ãªãããã®ã¾ã¾æ¿å ¥ããã¾ãã DocumentFragment.replaceChildren()-
DocumentFragmentã®æ¢åã®åããæå®ãããä¸é£ã®æ°ããåã§ç½®ãæãã¾ãã DocumentFragment.getElementById()-
ãã®
DocumentFragmentã®ä¸ã§ãææ¸ã®é åºã§è¦ãå ´åã«ãæå®ããã ID ã«ä¸è´ããæåã®Elementãã¼ããè¿ãã¾ããæ©è½çã«ã¯Document.getElementById()ã¨åãã§ãã
使ç¨ä¸ã®æ³¨æ
DocumentFragment ã®ä¸è¬çãªä½¿ç¨æ¹æ³ã¯ããã©ã°ã¡ã³ãã使ãããã®ä¸ã§ DOM ãµãããªã¼ãçµã¿ç«ã¦ãNode ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ã¡ã½ãããä¾ãã° appendChild()ãappend()ãinsertBefore() ãªã©ãç¨ãã¦ããã©ã°ã¡ã³ãã DOM ã«è¿½å ã¾ãã¯æ¿å
¥ãããã¨ã§ãã ããã«ããããã©ã°ã¡ã³ãã®ãã¼ãã DOM å
ã¸ç§»åãã空㮠DocumentFragment ãæ®ãã¾ãã
ãã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ãã¦ã§ãã³ã³ãã¼ãã³ãã§ãæ´»èºãã¾ãã<template> è¦ç´ 㯠DocumentFragment ã HTMLTemplateElement.content ããããã£ã«ä¿æãã¦ãã¾ãã
空㮠DocumentFragment 㯠document.createDocumentFragment() ã¡ã½ããã¾ãã¯ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ä½æãããã¨ãã§ãã¾ãã
æ§è½
DocumentFragment ã®æ§è½ãé«ãã¨ãããã¨ã¯ãããèªå¼µããã¦ãã¾ããã¨ã³ã¸ã³ã«ãã£ã¦ã¯ DocumentFragment ã使ç¨ããã¨ãå®éã«ã¯ãã«ã¼ãã§ææ¸ã«è¿½å ãã¦ãããããããé
ããªãå ´åããããã¨ããã®ãã³ããã¼ã¯ã§ç¤ºããã¦ãã¾ãããããããã®ä¾ã®éãã¯é常ã«å°ããã®ã§ãæ§è½ãããèªã¿ããããéè¦ãã¦æé©åããæ¹ãããã§ãããã
ä¾
>HTML
<ul></ul>
JavaScript
const ul = document.querySelector("ul");
const fruits = ["ããã", "ã¿ãã", "ããã", "ã¡ãã³"];
const fragment = new DocumentFragment();
for (const fruit of fruits) {
const li = document.createElement("li");
li.textContent = fruit;
fragment.append(li);
}
ul.append(fragment);
çµæ
仿§æ¸
| 仿§æ¸ |
|---|
| DOM > # interface-documentfragment > |