Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
DocumentFragment
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
* Some parts of this feature may have varying levels of support.
La interfazDocumentFragment representa un objeto de documento mínimo que no tiene padre. Se utiliza como una versión ligera deDocument que almacena un segmento de una estructura de documento compuesta de nodos como un documento estándar. La gran diferencia se debe al hecho de que el fragmento de documento no forma parte de la estructura de árbol del documento activo. Los cambios realizados en el fragmento no afectan el documento (incluso enreflow) ni inciden en el rendimiento cuando se realizan cambios.
In this article
Constructor
DocumentFragment()Crea y devuelve un nuevo objeto
DocumentFragment.
Propiedades
Esta interfaz no tiene propiedades específicas*,* pero hereda las de su padre*,Node,* e implementa los de la interfazParentNode.
ParentNode.childrenRead onlyExperimentalDevuelve un
HTMLCollectionque contiene los objetos de tipoElementque son elementos secundarios del objetoDocumentFragment.ParentNode.firstElementChildRead onlyExperimentalDevuelve el
Elementque es el primer hijo del objetoDocumentFragment, onullsi no hay ninguno.ParentNode.lastElementChildRead onlyExperimentalDevuelve el
Elementque es el último hijo del objetoDocumentFragment, onullsi no hay ninguno.ParentNode.childElementCountRead onlyExperimentalDevuelve un
unsigned longque indica cantidad de elementos secundarios que tiene el objetoDocumentFragment.
Métodos
Esta interfaz hereda los métodos de su padre,Node, e implementa los de la interfazParentNode.
DocumentFragment.querySelector()Devuelve el primer nodo
Elementdentro deDocumentFragment, en el orden del documento, que coincide con los selectores especificados.DocumentFragment.querySelectorAll()Devuelve un
NodeListde todos los nodosElementdentro deDocumentFragmentque coincide con los selectores especificados.DocumentFragment.getElementById()Devuelve el primer nodo
Elementdentro deDocumentFragment, en el orden del documento, que coincide con elID especificado. funcionalmente equivale aDocument.getElementById().
Notas de uso
A common use forDocumentFragment is to create one, assemble a DOM subtree within it, then append or insert the fragment into the DOM usingNode interface methods such asappendChild() orinsertBefore(). Doing this moves the fragment's nodes into the DOM, leaving behind an emptyDocumentFragment. Because all of the nodes are inserted into the document at once, only one reflow and render is triggered instead of potentially one for each node inserted if they were inserted separately.
This interface is also of great use with Web components:<template> elements contain aDocumentFragment in theirHTMLTemplateElement.content property.
An emptyDocumentFragment can be created using thedocument.createDocumentFragment() method or the constructor.
Example
>HTML
<ul></ul>JavaScript
var list = document.querySelector("#list");var fruits = ["Apple", "Orange", "Banana", "Melon"];var fragment = new DocumentFragment();fruits.forEach(function (fruit) { var li = document.createElement("li"); li.innerHTML = fruit; fragment.appendChild(li);});list.appendChild(fragment);Result
Especificaciones
| Specification |
|---|
| DOM> # interface-documentfragment> |