Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
Document
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 interfazDocument representa cualquier página web cargada en el navegador y sirve como punto de entrada al contenido de la página web, que es elárbol DOM (Document Object Model).
El árbol DOM incluye elementos como<body> y<table>, entremuchos otros. Proporciona funcionalidad globalmente al documento, como obtener la URL de la página y crear nuevos elementos en el documento.
La interfazDocument describe las propiedades y métodos comunes para cualquier tipo de documento. Según el tipo de documento (p. ej.,HTML,XML,SVG, etc.), hay disponible una API más grande: los documentos HTML, servidos con el tipo de contenido"text/html", también implementan la interfazHTMLDocument , mientras que los documentos XML y SVG implementan la interfazXMLDocument.
In this article
Constructor
Document()Crea un nuevo objeto
Document.
Propiedades
Esta interfaz también hereda de las interfacesNode yEventTarget.
Document.activeElementRead onlyDevuelve el
Elementactualmente activo.Document.bodyDevuelve el nodo
<body>o<frameset>del documento actual.Document.characterSetRead onlyDevuelve el conjunto de caracteres que utiliza el documento.
Document.childElementCountRead onlyDevuelve el número de elementos hijos del documento actual.
Document.childrenRead onlyDevuelve los elementos hijos del documento actual.
Document.compatModeExperimentalRead onlyIndica si el documento se representa en modoquirks ostrict.
Document.contentTypeExperimentalRead onlyDevuelve el tipo de contenido del encabezado MIME del documento actual.
Document.currentScriptRead onlyDevuelve el elemento
<script>cuyo script se está procesando actualmente yno es un módulo de JavaScript.Document.doctypeRead onlyDevuelve la Definición de Tipo de Documento (DTD) del documento actual.
Document.documentElementRead onlyDevuelve el
Elementque es un hijo directo del documento. Para documentos HTML, normalmente es el objetoHTMLHtmlElementque representa el elemento<html>del documento.Document.documentURIRead onlyDevuelve la ubicación del documento como una cadena.
Document.embedsRead onlyDevuelve un
HTMLCollectionde los elementos<embed>incrustados en el documento.Document.firstElementChildRead onlyDevuelve el primer elemento hijo del documento actual.
Document.fontsDevuelve la interfaz
FontFaceSetdel documento actual.Document.formsRead onlyDevuelve un
HTMLCollectionde los elementos<form>del documento.Document.fullscreenElementRead onlyEl elemento que está actualmente en modo de pantalla completa para este documento.
Document.headRead onlyDevuelve el elemento
<head>del documento actual.Document.hiddenRead onlyDevuelve un valor booleano que indica si la página se considera oculta o no.
Document.imagesRead onlyDevuelve un
HTMLCollectionde las imágenes del documento.Document.implementationRead onlyDevuelve la implementación DOM asociada con el documento actual.
Document.lastElementChildRead onlyDevuelve el último elemento hijo del documento actual.
Document.linksRead onlyDevuelve un
HTMLCollectionde los hipervínculos del documento.Document.mozSyntheticDocumentNo estándarDevuelve
truesolo si este documento es sintético, como una imagen independiente, video, archivo de audio o similar.Document.pictureInPictureElementRead onlyDevuelve el
Elementque se presenta actualmente en modopicture-in-picture en este documento.Document.pictureInPictureEnabledRead onlyDevuelve
truesi la funciónpicture-in-picture está habilitada.Document.pluginsRead onlyDevuelve un
HTMLCollectionde los complementos disponibles.Document.pointerLockElementRead onlyDevuelve el conjunto de elementos como destino para los eventos del mouse mientras el puntero está bloqueado.
nullsi el bloqueo está pendiente, el puntero está desbloqueado o si el objetivo está en otro documento.Document.featurePolicyExperimentalRead onlyDevuelve la interfaz
FeaturePolicyque proporciona una API simple para analizar las políticas de funciones aplicadas a un documento específico.Document.scriptsRead onlyDevuelve un
HTMLCollectionde los elementos<script>del documento.Document.scrollingElementRead onlyDevuelve una referencia al
Elementque desplaza el documento.Document.styleSheetsRead onlyDevuelve un objeto
StyleSheetListdeCSSStyleSheetpara hojas de estilo explícitamente vinculadas o incrustadas en un documento.Document.timelineExperimentalRead onlyDevuelve la línea de tiempo como una instancia especial de
DocumentTimelineque se crea automáticamente al cargar la página.Document.visibilityStateRead onlyDevuelve un
stringque indica el estado de visibilidad del documento. Los valores posibles sonvisible,hidden,prerenderyunloaded.
Extensiones para HTMLDocument
La interfazDocument para documentos HTML hereda de la interfazHTMLDocument o, desde HTML5, se amplía para dichos documentos.
Document.cookieDevuelve una lista separada por punto y coma de las cookies para ese documento o establece una sola cookie.
Document.defaultViewRead onlyDevuelve una referencia al objeto de la ventana.
Document.designModeEstablece u obtiene la capacidad de editar todo el documento.
Document.dirEstablece u obtiene la direccionalidad (rtl/ltr) del documento.
Document.domainObsoletoEstablece u obtiene el dominio del documento actual.
Document.lastModifiedRead onlyDevuelve la fecha en la que se modificó por última vez el documento.
Document.locationRead onlyDevuelve la URI del documento actual.
Document.readyStateRead onlyDevuelve el estado de carga del documento.
Document.referrerRead onlyDevuelve el URI de la página que se vinculó a esta página.
Document.titleEstablece u obtiene el título del documento actual.
Document.URLRead onlyDevuelve la ubicación del documento como una cadena.
Manejadores de eventos
La interfazDocument se amplía con manejadores de eventos adicionales definidos enGlobalEventHandlers.
Document.onafterscriptexecuteNo estándarRepresenta el código del manejador de eventos para el evento
afterscriptexecute.Document.onbeforescriptexecuteNo estándarRepresenta el código del manejador de eventos para el evento
beforescriptexecute.Document.onreadystatechangeRepresenta el código del manejador de eventos para el evento
readystatechange.GlobalEventHandlers.onselectionchangeExperimentalEs unmanejador de eventos que representa el código que se llamará cuando se genere el evento
selectionchange.Document.onvisibilitychangeEs unmanejador de eventos que representa el código que se llamará cuando se genere el evento
visibilitychange.
Propiedades obsoletas
Document.alinkColorObsoletoDevuelve o establece el color de los enlaces activos en el cuerpo del documento.
Document.allObsoletoNo estándarProporciona acceso a todos los elementos del documento; devuelve un
HTMLAllCollectionarraigado en el nodo del documento. Esta es una propiedad heredada, no estándar y no debe usarse.Document.anchorsObsoletoRead onlyDevuelve una lista de todos los anclajes en el documento.
Document.appletsObsoletoRead onlyDevuelve una lista ordenada de los subprogramas dentro de un documento.
Document.bgColorObsoletoEstablece u obtiene el color de fondo del documento actual.
Document.charsetObsoletoRead onlyAlias de
Document.characterSet. Utilice esta propiedad en su lugar.Document.fgColorObsoletoEstablece u obtiene el color de primer plano o el color del texto del documento actual.
Document.fullscreenObsoletoDevuelve
truecuando el documento está enmodo pantalla completa.Document.heightNo estándarObsoletoEstablece u obtiene la altura del documento actual.
Document.inputEncodingObsoletoRead onlyAlias de
Document.characterSet. Utilice esta propiedad en su lugar.Document.lastStyleSheetSetObsoletoRead onlyDevuelve el nombre del conjunto de hojas de estilo que se habilitó por última vez. Tiene el valor
nullhasta que se cambia la hoja de estilo estableciendo el valor deselectedStyleSheetSet.Document.linkColorObsoletoEstablece u obtiene el color de los hipervínculos en el documento.
Document.preferredStyleSheetSetObsoletoRead onlyDevuelve el conjunto de hojas de estilo preferido según lo especificado por el autor de la página.
Document.rootElementObsoletoComo
Document.documentElement, pero solo para elementos<svg>raíz. Utilice esta propiedad en su lugar.Document.selectedStyleSheetSetObsoletoDevuelve qué conjunto de hojas de estilo está actualmente en uso.
Document.styleSheetSetsObsoletoRead onlyDevuelve una lista de los conjuntos de hojas de estilo disponibles en el documento.
Document.vlinkColorObsoletoEstablece u obtiene el color de los hipervínculos visitados.
Document.widthNo estándarObsoletoDevuelve el ancho del documento actual.
Document.xmlEncodingObsoletoDevuelve la codificación determinada por la declaración XML.
Document.xmlStandaloneObsoletoDevuelve
truesi la declaración XML especifica que el documento sea independiente (p. ej., Una parte externa de la DTD afecta el contenido del documento), de lo contrario,false.Document.xmlVersionObsoletoDevuelve el número de versión como se especifica en la declaración XML o
"1.0"si la declaración está ausente.
Métodos
Esta interfaz también hereda de las interfacesNode yEventTarget.
Document.adoptNode()Adopta un nodo de un documento externo.
Document.append()Inserta un conjunto de objetos
Nodeu objetosDOMStringdespués del último elemento hijo del documento.Document.captureEvents()ObsoletoConsulte
Window.captureEvents.Document.caretPositionFromPoint()Devuelve un objeto
CaretPositionque contiene el nodo DOM que contiene el signo de intercalación y el desplazamiento del carácter del signo de intercalación dentro de ese nodo.Document.caretRangeFromPoint()No estándarObtiene un objeto
Rangepara el fragmento de documento bajo las coordenadas especificadas.Document.createAttribute()Crea un nuevo objeto
Attry lo devuelve.Document.createAttributeNS()Crea un nuevo nodo de atributo en un espacio de nombres determinado y lo devuelve.
Document.createCDATASection()Crea un nuevo nodo CDATA y lo devuelve.
Document.createComment()Crea un nuevo nodo de comentario y lo devuelve.
Document.createDocumentFragment()Crea un nuevo fragmento de documento.
Document.createElement()Crea un nuevo elemento con el nombre de etiqueta dado.
Document.createElementNS()Crea un nuevo elemento con el nombre de etiqueta y el URI de espacio de nombres dados.
Document.createEntityReference()ObsoletoCrea un nuevo objeto de referencia de entidad y lo devuelve.
Document.createEvent()Crea un objeto de evento.
Document.createNodeIterator()Crea un objeto
NodeIterator.Document.createProcessingInstruction()Crea un nuevo objeto
ProcessingInstruction.Document.createRange()Crea un objeto
Range.Document.createTextNode()Crea un nodo de texto.
Document.createTouch()ObsoletoCrea un objeto
Touch.Document.createTouchList()ObsoletoCrea un objeto
TouchList.Document.createTreeWalker()Crea un objeto
TreeWalker.Document.elementFromPoint()Devuelve el elemento superior en las coordenadas especificadas.
Document.elementsFromPoint()Devuelve una matriz de todos los elementos en las coordenadas especificadas.
Document.enableStyleSheetsForSet()ObsoletoHabilita las hojas de estilo para el conjunto de hojas de estilo especificado.
Document.exitPictureInPicture()Retira el video de la ventana flotante depicture-in-picture y vuelve a su contenedor original.
Document.exitPointerLock()ExperimentalLibera el bloqueo del puntero.
Document.getAnimations()Devuelve una matriz de todos los objetos
Animationactualmente en uso, cuyos elementos de destino son descendientes dedocument.Document.getBoxQuads()ExperimentalDevuelve una lista de objetos
DOMQuadque representan los fragmentos CSS del nodo.Document.getElementById()Devuelve una referencia de objeto al elemento identificado.
Document.getElementsByClassName()Devuelve una lista de elementos con el nombre de clase dado.
Document.getElementsByTagName()Devuelve una lista de elementos con el nombre de etiqueta dado.
Document.getElementsByTagNameNS()Devuelve una lista de elementos con el nombre de etiqueta y el espacio de nombres dados.
Document.getSelection()Devuelve un objeto
Selectionque representa el rango de texto seleccionado por el usuario o la posición actual del signo de intercalación.Document.hasStorageAccess()ExperimentalDevuelve un
Promiseque se resuelve con un valor booleano que indica si el documento tiene acceso a su almacenamiento propio.Document.importNode()Devuelve un clon de un nodo de un documento externo.
Document.normalizeDocument()ObsoletoReemplaza entidades, normaliza nodos de texto, etc.
Document.prepend()Inserta un conjunto de objetos
Nodeu objetosDOMStringantes del primer elemento hijo del documento.Document.querySelector()Devuelve el primer nodoElement dentro del documento, en el orden del documento, que coincide con los selectores especificados.
Document.querySelectorAll()Devuelve una lista de todos los nodosElement dentro del documento que coinciden con los selectores especificados.
Document.releaseCapture()No estándarLibera la captura actual del mouse si está en un elemento de este documento.
Document.releaseEvents()No estándarObsoletoConsulte
Window.releaseEvents().Document.replaceChildren()Reemplaza los elementos hijos existentes de un documento con un nuevo conjunto específico de elementos hijos.
Document.requestStorageAccess()Devuelve un
Promiseque resuelve si se otorgó el acceso al almacenamiento propio y lo rechaza si se denegó el acceso.Document.mozSetImageElement()No estándarLe permite cambiar el elemento que se utiliza como imagen de fondo para un ID de elemento específico.
La interfazDocument se amplía con la interfazXPathEvaluator:
Document.createExpression()Compila una
XPathExpressionque luego se puede usar para (repetidas) evaluaciones.Document.createNSResolver()Crea un objeto
XPathNSResolver.Document.evaluate()Evalúa una expresión XPath.
Extensión para documentos HTML
La interfazDocument para documentos HTML se hereda de la interfazHTMLDocument o, desde HTML5, se amplía para dichos documentos:
Document.clear()No estándarObsoletoEn la mayoría de los navegadores modernos, incluidas las versiones recientes de Firefox e Internet Explorer, este método no hace nada.
Document.close()Cierra el flujo de escritura en el documento.
Document.execCommand()ObsoletoEn un documento editable, ejecuta un comando de formato.
Document.getElementsByName()Devuelve una lista de elementos con el nombre dado.
Document.hasFocus()Devuelve
truesi el foco se encuentra actualmente en cualquier lugar dentro del documento especificado.Document.open()Abre un flujo de escritura para el documento.
Document.queryCommandEnabled()ObsoletoDevuelve
truesi el comando de formato se puede ejecutar en el rango actual.Document.queryCommandIndeterm()ObsoletoDevuelve
truesi el comando de formato está en un estado indeterminado en el rango actual.Document.queryCommandState()ObsoletoDevuelve
truesi el comando de formato se ha ejecutado en el rango actual.Document.queryCommandSupported()ObsoletoDevuelve
truesi el comando de formato es compatible con el rango actual.Document.queryCommandValue()ObsoletoDevuelve el valor actual del rango actual para un comando de formato.
Document.write()Escribe texto en un documento.
Document.writeln()Escribe una línea de texto en un documento.
Eventos
Puede detectar estos eventos usandoaddEventListener() o asignando un detector de eventos a la propiedadoneventname de esta interfaz.
scrollSe activa cuando se ha desplazado la vista del documento o un elemento. También disponible a través de la propiedad
onscroll.visibilitychangeSe activa cuando el contenido de una pestaña se vuelve visible o se oculta. También disponible a través de la propiedad
onvisibilitychange.wheelSe activa cuando el usuario gira un botón de rueda en un dispositivo señalador (generalmente un mouse). También disponible a través de la propiedad
onwheel.
Eventos de animación
animationcancelSe activa cuando una animación aborta inesperadamente. También disponible a través de la propiedad
onanimationcancel.animationendSe activa cuando una animación se ha completado normalmente. También disponible a través de la propiedad
onanimationend.animationiterationSe activa cuando se completa una iteración de animación. También disponible a través de la propiedad
onanimationiteration.animationstartSe activa cuando comienza una animación. También disponible a través de la propiedad
onanimationstart.
Eventos del portapapeles
copySe activa cuando el usuario inicia una acción de copiar a través de la interfaz de usuario del navegador.
cutSe activa cuando el usuario inicia una acción de cortar a través de la interfaz de usuario del navegador.
pasteSe activa cuando el usuario inicia una acción de pegar a través de la interfaz de usuario del navegador.
Eventos de arrastrar y soltar
dragSe activa cada pocos cientos de milisegundos cuando el usuario arrastra un elemento o una selección de texto. También disponible a través de la propiedad
ondrag.dragendSe activa cuando finaliza una operación de arrastre (soltando un botón del mouse o presionando la tecla Escape). También disponible a través de la propiedad
ondragend.dragenterSe activa cuando un elemento arrastrado o una selección de texto ingresa en un destino de colocación válido. También disponible a través de la propiedad
ondragenter.dragleaveSe activa cuando un elemento arrastrado o una selección de texto deja un destino de colocación válido. También disponible a través de la propiedad
ondragleave.dragoverSe activa cuando se arrastra un elemento o una selección de texto sobre un destino de colocación válido (cada pocos cientos de milisegundos). También disponible a través de la propiedad
ondragover.dragstartSe activa cuando el usuario comienza a arrastrar un elemento o una selección de texto. También disponible a través de la propiedad
ondragstart.dropSe activa cuando un elemento o una selección de texto se coloca en un destino de colocación válido. También disponible a través de la propiedad
ondrop.
Eventos de pantalla completa
fullscreenchangeSe activa cuando
Documentpasa al modo depantalla completa o sale del mismo.fullscreenerrorSe activa si se produce un error al intentar activar o desactivar el modo depantalla completa.
Eventos de teclado
keydownSe activa cuando se presiona una tecla. También disponible a través de la propiedad
onkeydown.keypressSe activa cuando se presiona una tecla que produce un valor de carácter. También disponible a través de la propiedad
onkeypress.keyupSe activa cuando se suelta una tecla. También disponible a través de la propiedad
onkeyup.
Eventos de carga y descarga
DOMContentLoadedSe activa cuando el documento se ha cargado y analizado por completo, sin esperar a que las hojas de estilo, las imágenes y los submarcos terminen de cargarse.
readystatechangeSe activa cuando el atributo
readyStatede un documento ha cambiado. También disponible a través de la propiedadonreadystatechange.
Eventos de puntero
gotpointercaptureSe activa cuando un elemento captura un puntero usando
setPointerCapture(). También disponible a través de la propiedadongotpointercapture.lostpointercaptureSe activa cuando se suelta unpuntero capturado. También disponible a través de la propiedad
onlostpointercapture.pointercancelSe activa cuando se cancela un evento de puntero. También disponible a través de la propiedad
onpointercancel.pointerdownSe activa cuando un puntero se vuelve activo. También disponible a través de la propiedad
onpointerdown.pointerenterSe activa cuando se mueve un puntero a los límites de laprueba de acierto de un elemento o uno de sus hijos. También disponible a través de la propiedad
onpointerenter.pointerleaveSe activa cuando un puntero se mueve fuera de los límites de laprueba de acierto de un elemento. También disponible a través de la propiedad
onpointerleave.pointerlockchangeSe activa cuando el puntero está bloqueado o desbloqueado. También disponible a través de la propiedad
onpointerlockchange.pointerlockerrorSe activa cuando falla el bloqueo del puntero. También disponible a través de la propiedad
onpointerlockerror.pointermoveSe activa cuando un puntero cambia de coordenadas. También disponible a través de la propiedad
onpointermove.pointeroutSe activa cuando un puntero se mueve fuera de los límites de laprueba de acierto de un elemento (entre otras razones). También disponible a través de la propiedad
onpointerout.pointeroverSe activa cuando se mueve un puntero a los límites de laprueba de acierto de un elemento. También disponible a través de la propiedad
onpointerover.pointerupSe activa cuando un puntero ya no está activo. También disponible a través de la propiedad
onpointerup.
Eventos de selección
selectionchangeSe activa cuando se cambia la selección de texto actual en un documento. También disponible a través de la propiedad
onselectionchange.selectstartSe activa cuando el usuario comienza una nueva selección. También disponible a través de la propiedad
onselectstart.
Eventos táctiles
touchcancelSe activa cuando uno o más puntos de contacto se han interrumpido de una manera específica de la implementación (por ejemplo, se crean demasiados puntos de contacto). También disponible a través de la propiedad
ontouchcancel.touchendSe activa cuando uno o más puntos de contacto se eliminan de la superficie táctil. También disponible a través de la propiedad
ontouchendtouchmoveSe activa cuando uno o más puntos de contacto se mueven a lo largo de la superficie táctil. También disponible a través de la propiedad
ontouchmovetouchstartSe activa cuando se colocan uno o más puntos de contacto en la superficie táctil. También disponible a través de la propiedad
ontouchstart
Eventos de transición
transitioncancelSe activa cuando se cancela unatransición de CSS. También disponible a través de la propiedad
ontransitioncancel.transitionendSe activa cuando se completa unatransición de CSS. También disponible a través de la propiedad
ontransitionend.transitionrunSe activa cuando se crea por primera vez unatransición de CSS. También disponible a través de la propiedad
ontransitionrun.transitionstartSe activa cuando realmente ha comenzado unatransición de CSS. También disponible a través de la propiedad
ontransitionstart.
Extensiones no estándarNo estándar
No estándar: Esta función no está estandarizada. No recomendamos usar funciones no estándar en producción, ya que tienen un soporte limitado en los navegadores y pueden cambiar o eliminarse. Sin embargo, pueden ser una alternativa adecuada en casos específicos donde no exista una opción estándar.
Notas de firefox
Firefox define algunos métodos no estándar:
Document.execCommandShowHelp()ObsoletoEste método nunca hizo nada y siempre arrojaba una excepción, por lo que se eliminó en Gecko 14.0 (Firefox 14.0 / Thunderbird 14.0 / SeaMonkey 2.11).
Document.getBoxObjectFor()ObsoletoUtilice el método
Element.getBoundingClientRect()en su lugar.Document.loadOverlay()ObsoletoCarga unasuperposición XUL dinámicamente. Esto solo funciona en documentos XUL.
Document.queryCommandText()ObsoletoEste método nunca hizo nada más que generar una excepción y se eliminó en Gecko 14 (Firefox 14.0 / Thunderbird 14.0 / SeaMonkey 2.11).
Notas de Internet Explorer
Microsoft define algunos métodos no estándar:
Document.fileSize*No estándarObsoletoDevuelve el tamaño en bytes del documento. A partir de Internet Explorer 11, esa propiedad ya no se admite. ConsulteMSDN.