René's URL Explorer Experiment


Title: JavaScript Shadow DOM | W3docs

Open Graph Title: JavaScript Shadow DOM

X Title: JavaScript Shadow DOM

Description: El Shadow DOM permite adjuntar un árbol DOM encapsulado a un elemento para aislar su marcado, estilos y scripts del resto de la página. Aprende a crear shadow…

Open Graph Description: El Shadow DOM permite adjuntar un árbol DOM encapsulado a un elemento para aislar su marcado, estilos y scripts del resto de la página. Aprende a crear shadow…

X Description: El Shadow DOM permite adjuntar un árbol DOM encapsulado a un elemento para aislar su marcado, estilos y scripts del resto de la página. Aprende a crear shadow…

Opengraph URL: https://es.w3docs.com/learn-javascript/javascript-shadow-dom

X: @w3docs

direct link

Domain: es.w3docs.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"Article","@id":"https://es.w3docs.com/learn-javascript/javascript-shadow-dom#article","headline":"JavaScript Shadow DOM","description":"El Shadow DOM permite adjuntar un árbol DOM encapsulado a un elemento para aislar su marcado, estilos y scripts del resto de la página. Aprende a crear shadow roots abiertos y cerrados, definir estilos con alcance, usar slots y construir componentes reutilizables.","inLanguage":"es","url":"https://es.w3docs.com/learn-javascript/javascript-shadow-dom","isPartOf":{"@id":"https://es.w3docs.com/#website"},"publisher":{"@id":"https://es.w3docs.com/#organization"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://es.w3docs.com/"},{"@type":"ListItem","position":2,"name":"Aprender JavaScript","item":"https://es.w3docs.com/learn-javascript"},{"@type":"ListItem","position":3,"name":"Shadow DOM","item":"https://es.w3docs.com/learn-javascript/javascript-shadow-dom"}]}
{"@context":"https://schema.org","@type":"Organization","@id":"https://es.w3docs.com/#organization","name":"W3docs","url":"https://es.w3docs.com/","logo":"https://www.w3docs.com/build/images/logo-amp.png","sameAs":["https://x.com/w3docs","https://www.facebook.com/w3docs","https://github.com/w3docs","https://linkedin.com/company/w3docs"]}
{"@context":"https://schema.org","@type":"WebSite","@id":"https://es.w3docs.com/#website","name":"W3docs","url":"https://es.w3docs.com/","inLanguage":"es","publisher":{"@id":"https://es.w3docs.com/#organization"}}

og:site_nameW3docs
og:localees_ES
og:imagehttps://www.w3docs.com/build/images/logo-amp.png
og:typearticle
twitter:cardsummary_large_image
twitter:imagehttps://www.w3docs.com/build/images/logo-amp.png

Links:

W3docshttps://es.w3docs.com/
Aprender HTMLhttps://es.w3docs.com/learn-html
Aprender CSShttps://es.w3docs.com/learn-css
Aprender JavaScripthttps://es.w3docs.com/learn-javascript
Aprender Githttps://es.w3docs.com/learn-git
Aprender Javahttps://es.w3docs.com/learn-java
Aprender PHPhttps://es.w3docs.com/learn-php
Aprender Pythonhttps://es.w3docs.com/learn-python
Cursoshttps://es.w3docs.com/course
Cuestionarioshttps://es.w3docs.com/quiz
Ejercicioshttps://es.w3docs.com/exercise
HTML Editorhttps://es.w3docs.com/tools/editor
Password Generatorhttps://es.w3docs.com/tools/password-generator
HTML Encoderhttps://es.w3docs.com/tools/html-encoder
Code Diffhttps://es.w3docs.com/tools/code-diff
JSON Beautifierhttps://es.w3docs.com/tools/json-beautify
Ver los 13 →https://es.w3docs.com/tool
Color Pickerhttps://es.w3docs.com/color/color-picker
Color Converterhttps://es.w3docs.com/color/color-converter
Color mixerhttps://es.w3docs.com/color/color-mixer
Color Hexhttps://es.w3docs.com/color/color-hex
Colors HSLhttps://es.w3docs.com/color/color-hsl
Ver los 10 →https://es.w3docs.com/tool
String Length Calculatorhttps://es.w3docs.com/tools/string-length-calculator
MD5 Hash Generatorhttps://es.w3docs.com/tools/string-md5-generator
Sha256 Hash Generatorhttps://es.w3docs.com/tools/string-sha256-generator
String Reversehttps://es.w3docs.com/tools/string-revers
URL Encoderhttps://es.w3docs.com/tools/string-url-encoder
Ver los 19 →https://es.w3docs.com/tool
Javascript Formatterhttps://es.w3docs.com/tools/formatter/javascript
CSS Formatterhttps://es.w3docs.com/tools/formatter/css
HTML Formatterhttps://es.w3docs.com/tools/formatter/html
Json Formatterhttps://es.w3docs.com/tools/formatter/json
PHP Formatterhttps://es.w3docs.com/tools/formatter/php
Englishenhttps://www.w3docs.com/learn-javascript/javascript-shadow-dom
Deutschdehttps://de.w3docs.com/learn-javascript/javascript-shadow-dom
Русскийruhttps://ru.w3docs.com/learn-javascript/javascript-shadow-dom
Françaisfrhttps://fr.w3docs.com/learn-javascript/javascript-shadow-dom
Españoleshttps://es.w3docs.com/learn-javascript/javascript-shadow-dom
Portuguêspthttps://pt.w3docs.com/learn-javascript/javascript-shadow-dom
Italianoithttps://it.w3docs.com/learn-javascript/javascript-shadow-dom
Iniciar sesiónhttps://es.w3docs.com/api/auth/login
Aprender JavaScripthttps://es.w3docs.com/learn-javascript
Introducciónhttps://es.w3docs.com/learn-javascript/javascript-intro
Comenzar a usar Javascripthttps://es.w3docs.com/learn-javascript/start-using-javascript
Comentarios en JShttps://es.w3docs.com/learn-javascript/javascript-comments
JS con el DOMhttps://es.w3docs.com/learn-javascript/javascript-with-dom
JS Use Stricthttps://es.w3docs.com/learn-javascript/javascript-use-strict
Variables en JShttps://es.w3docs.com/learn-javascript/javascript-variables
Tipos de datos JShttps://es.w3docs.com/learn-javascript/javascript-data-types
Conversiones de Tipos en JShttps://es.w3docs.com/learn-javascript/type-conversions
Funciones interactivas de JShttps://es.w3docs.com/learn-javascript/interactive-functions
Operadores JShttps://es.w3docs.com/learn-javascript/operators
Operadores de comparación en JShttps://es.w3docs.com/learn-javascript/comparison-operators
Operadores Lógicos de JShttps://es.w3docs.com/learn-javascript/logical-operators
Fusión Nula en JS (??)https://es.w3docs.com/learn-javascript/nullish-coalescing-operator
Operadores condicionales en JShttps://es.w3docs.com/learn-javascript/conditional-operators
JS Switchhttps://es.w3docs.com/learn-javascript/javascript-switch
Bucles en JShttps://es.w3docs.com/learn-javascript/javascript-loops
Funciones JShttps://es.w3docs.com/learn-javascript/javascript-functions
Expresiones de Función en JShttps://es.w3docs.com/learn-javascript/function-expressions
Funciones flecha en JShttps://es.w3docs.com/learn-javascript/arrow-functions-the-basics
JS ES6https://es.w3docs.com/learn-javascript/javascript-es6
Objetos JShttps://es.w3docs.com/learn-javascript/javascript-objects
Copia de Objetos en JShttps://es.w3docs.com/learn-javascript/object-references-and-copying
Métodos de objetos JS, "this"https://es.w3docs.com/learn-javascript/object-methods-this
Recolección de basura en JShttps://es.w3docs.com/learn-javascript/garbage-collection
Tipos Symbol en JShttps://es.w3docs.com/learn-javascript/symbol-types
Conversión de objeto a primitivo en JShttps://es.w3docs.com/learn-javascript/object-to-primitive-conversion
Constructor de JS, operador "new"https://es.w3docs.com/learn-javascript/constructor-operator-new
Encadenamiento Opcional (?.)https://es.w3docs.com/learn-javascript/optional-chaining
Métodos de primitivos en JShttps://es.w3docs.com/learn-javascript/methods-of-primitives
Números en JShttps://es.w3docs.com/learn-javascript/numbers
JS Mathhttps://es.w3docs.com/learn-javascript/javascript-math
Strings en JShttps://es.w3docs.com/learn-javascript/strings
Arrays en JShttps://es.w3docs.com/learn-javascript/javascript-array
Métodos de array en JShttps://es.w3docs.com/learn-javascript/array-methods
Iterables en JShttps://es.w3docs.com/learn-javascript/iterables
JS Map y Sethttps://es.w3docs.com/learn-javascript/map-and-set
JS WeakMap y WeakSethttps://es.w3docs.com/learn-javascript/weakmap-and-weakset
JS Object.keys, Values, Entrieshttps://es.w3docs.com/learn-javascript/object-keys-values-entries
Desestructuración en JShttps://es.w3docs.com/learn-javascript/destructuring-assignment
Fecha y hora en JShttps://es.w3docs.com/learn-javascript/javascript-date
Métodos JS JSON, toJSONhttps://es.w3docs.com/learn-javascript/working-with-json
Recursión y Pila en JShttps://es.w3docs.com/learn-javascript/recursion-and-stack
Parámetros Rest y Sintaxis Spread en JShttps://es.w3docs.com/learn-javascript/rest-parameters-and-spread-syntax
Ámbito de variables en JShttps://es.w3docs.com/learn-javascript/variable-scope
JS El antiguo "var"https://es.w3docs.com/learn-javascript/the-old-var
Objeto global en JShttps://es.w3docs.com/learn-javascript/global-object
Objeto función en JS, NFEhttps://es.w3docs.com/learn-javascript/function-object-nfe
JS La sintaxis "new Function"https://es.w3docs.com/learn-javascript/the-new-function-syntax
JS setTimeout y setIntervalhttps://es.w3docs.com/learn-javascript/scheduling-settimeout-and-setinterval
Decoradores y reenvío en JS, call/applyhttps://es.w3docs.com/learn-javascript/decorators-and-forwarding-call-apply
Debounce y Throttle en JShttps://es.w3docs.com/learn-javascript/debounce-and-throttle
Vinculación de funciones en JShttps://es.w3docs.com/learn-javascript/function-binding
Funciones flecha de JS revisitadashttps://es.w3docs.com/learn-javascript/arrow-functions-revisited
Closures en JShttps://es.w3docs.com/learn-javascript/javascript-closures
Flags y descriptores de propiedades en JShttps://es.w3docs.com/learn-javascript/property-flags-and-descriptors
Getters y Setters de Propiedades en JShttps://es.w3docs.com/learn-javascript/property-getters-and-setters
Introducción al DOMhttps://es.w3docs.com/learn-javascript/javascript-html-dom
Los nodos del DOMhttps://es.w3docs.com/learn-javascript/understanding-the-dom-nodes
Seleccionar elementos del DOMhttps://es.w3docs.com/learn-javascript/selecting-dom-elements
Manipulación del DOMhttps://es.w3docs.com/learn-javascript/dom-manipulation
Trabajar con Estilos en el DOMhttps://es.w3docs.com/learn-javascript/working-with-styles-in-dom
Manejo de Eventos en el DOMhttps://es.w3docs.com/learn-javascript/event-handling-in-dom
Recorrido del DOMhttps://es.w3docs.com/learn-javascript/traversing-the-dom
Técnicas de Manipulación del DOMhttps://es.w3docs.com/learn-javascript/dom-manipulation-techniques
Trabajar con Formularios en el DOMhttps://es.w3docs.com/learn-javascript/working-with-forms-in-dom
Técnicas Avanzadas del DOMhttps://es.w3docs.com/learn-javascript/advanced-dom-techniques
Bibliotecas de Manipulación del DOMhttps://es.w3docs.com/learn-javascript/dom-manipulation-libraries
Compatibilidad DOM entre navegadoreshttps://es.w3docs.com/learn-javascript/dom-browser-compatibility
Accesibilidad en el DOMhttps://es.w3docs.com/learn-javascript/dom-accessibility-considerations
Depuración y herramientashttps://es.w3docs.com/learn-javascript/dom-debugging-and-tools
Optimización del rendimientohttps://es.w3docs.com/learn-javascript/dom-performance-optimization
Elementos Interactivos y Widgetshttps://es.w3docs.com/learn-javascript/dom-nteractive-elements-and-widgets
Herencia prototípica en JShttps://es.w3docs.com/learn-javascript/prototypal-inheritance
Prototipos Nativos de JShttps://es.w3docs.com/learn-javascript/native-prototypes
Métodos de prototipo JS, objetos sin `__proto__`https://es.w3docs.com/learn-javascript/prototype-methods-objects-without-proto
Sintaxis básica de clases JShttps://es.w3docs.com/learn-javascript/class-basic-syntax
Herencia de clases en JShttps://es.w3docs.com/learn-javascript/class-inheritance
Propiedades y métodos estáticos en JShttps://es.w3docs.com/learn-javascript/static-properties-and-methods
Propiedades Privadas y Protegidas en JShttps://es.w3docs.com/learn-javascript/private-and-protected-properties-and-methods
Extendiendo Clases Integradas en JShttps://es.w3docs.com/learn-javascript/extending-built-in-classes
Verificación de clases en JS: "instanceof"https://es.w3docs.com/learn-javascript/class-checking-instanceof
Mixins en JShttps://es.w3docs.com/learn-javascript/mixins
Manejo de errores en JS, "try..catch"https://es.w3docs.com/learn-javascript/error-handling-try-catch
Errores Personalizados en JS, Extendiendo Errorhttps://es.w3docs.com/learn-javascript/custom-errors-extending-error
JS Introduction:callbackshttps://es.w3docs.com/learn-javascript/introduction-callbacks
Promise en JShttps://es.w3docs.com/learn-javascript/promise
Encadenamiento de Promesashttps://es.w3docs.com/learn-javascript/promises-chaining
Manejo de errores con promesas en JShttps://es.w3docs.com/learn-javascript/error-handling-with-promises
Promise APIhttps://es.w3docs.com/learn-javascript/promise-api
Promisificaciónhttps://es.w3docs.com/learn-javascript/promisification
Microtareashttps://es.w3docs.com/learn-javascript/microtasks
async/awaithttps://es.w3docs.com/learn-javascript/async-await
Generadoreshttps://es.w3docs.com/learn-javascript/generators
Iteradores y Generadores Asíncronoshttps://es.w3docs.com/learn-javascript/async-iterators-and-generators
Móduloshttps://es.w3docs.com/learn-javascript/modules-introduction
Export e Importhttps://es.w3docs.com/learn-javascript/export-and-import
Importaciones dinámicashttps://es.w3docs.com/learn-javascript/dynamic-imports
Proxy y Reflecthttps://es.w3docs.com/learn-javascript/proxy-and-reflect
Evalhttps://es.w3docs.com/learn-javascript/eval-run-a-code-string
Curryinghttps://es.w3docs.com/learn-javascript/currying
BigInthttps://es.w3docs.com/learn-javascript/bigint
Polyfills y transpiladoreshttps://es.w3docs.com/learn-javascript/polyfills-and-transpilers
Ventanas emergentes y métodos de Windowhttps://es.w3docs.com/learn-javascript/popups-and-window-methods
Comunicación entre Ventanashttps://es.w3docs.com/learn-javascript/cross-window-communication
ArrayBuffer y Arrays Binarioshttps://es.w3docs.com/learn-javascript/arraybuffer-binary-arrays
TextDecoder y TextEncoderhttps://es.w3docs.com/learn-javascript/textdecoder-and-textencoder
Blobhttps://es.w3docs.com/learn-javascript/javascript-blob
File y FileReaderhttps://es.w3docs.com/learn-javascript/file-and-filereader
JS Streams APIhttps://es.w3docs.com/learn-javascript/streams-api
Entorno del Navegador, Especificacioneshttps://es.w3docs.com/learn-javascript/browser-environment-specs
Búsqueda: getElement*, querySelector*https://es.w3docs.com/learn-javascript/searching-getelement-queryselector
Propiedades de los nodos: tipo, etiqueta y contenidohttps://es.w3docs.com/learn-javascript/node-properties-type-tag-and-contents
Atributos y Propiedadeshttps://es.w3docs.com/learn-javascript/attributes-and-properties
Modificar el documentohttps://es.w3docs.com/learn-javascript/modifying-the-document
Estilos y Claseshttps://es.w3docs.com/learn-javascript/styles-and-classes
Tamaños de ventana y desplazamientohttps://es.w3docs.com/learn-javascript/javascript-window-sizes-and-scrolling
Coordenadashttps://es.w3docs.com/learn-javascript/javascript-coordinates
Introducción a los eventos del navegador en JavaScripthttps://es.w3docs.com/learn-javascript/introduction-to-browser-events
Bubbling y Capturinghttps://es.w3docs.com/learn-javascript/bubbling-and-capturing
Delegación de eventoshttps://es.w3docs.com/learn-javascript/javascript-events
Acciones Predeterminadas del Navegadorhttps://es.w3docs.com/learn-javascript/browser-default-actions
Despacho de Eventos Personalizadoshttps://es.w3docs.com/learn-javascript/dispatching-custom-events
Conceptos básicos de eventos de ratónhttps://es.w3docs.com/learn-javascript/mouse-events-basics
Movimiento del ratónhttps://es.w3docs.com/learn-javascript/moving-the-mouse-mouseover-out-mouseenter-leave
Arrastrar y Soltarhttps://es.w3docs.com/learn-javascript/drag-and-drop-with-javascript
Teclado: keydown y keyuphttps://es.w3docs.com/learn-javascript/keyboard-keydown-and-keyup
Desplazamientohttps://es.w3docs.com/learn-javascript/javascript-scrolling
Propiedades y métodos de formularioshttps://es.w3docs.com/learn-javascript/form-properties-and-methods
Enfoque: focus/blurhttps://es.w3docs.com/learn-javascript/focusing-focus-blur
Eventos: change, input, cut, copy, pastehttps://es.w3docs.com/learn-javascript/events-change-input-cut-copy-paste
API Portapapeles JShttps://es.w3docs.com/learn-javascript/clipboard-api
Formularios: evento y método submithttps://es.w3docs.com/learn-javascript/forms-event-and-method-submit
Page:DOMContentLoaded, load, beforeunload, unloadhttps://es.w3docs.com/learn-javascript/page-domcontentloaded-load-beforeunload-unload
Scripts: async, deferhttps://es.w3docs.com/learn-javascript/scripts-async-defer
Carga de recursos: onload y onerrorhttps://es.w3docs.com/learn-javascript/resource-loading-onload-and-onerror
Mutation Observerhttps://es.w3docs.com/learn-javascript/mutation-observer
JS IntersectionObserverhttps://es.w3docs.com/learn-javascript/intersection-observer
JS ResizeObserverhttps://es.w3docs.com/learn-javascript/resize-observer
Selección y Rangohttps://es.w3docs.com/learn-javascript/selection-and-range
Bucle de eventos: microtareas y macrotareashttps://es.w3docs.com/learn-javascript/event-loop-microtasks-and-macrotasks
Canvashttps://es.w3docs.com/learn-javascript/canvas
Fetch APIhttps://es.w3docs.com/learn-javascript/fetch-api
FormDatahttps://es.w3docs.com/learn-javascript/javascript-formdata
Fetch: progreso de descargahttps://es.w3docs.com/learn-javascript/fetch-download-progress
Fetch: cancelarhttps://es.w3docs.com/learn-javascript/fetch-abort
Fetch: solicitudes de origen cruzadohttps://es.w3docs.com/learn-javascript/javascript-fetch-cross-origin-requests
Objetos URLhttps://es.w3docs.com/learn-javascript/url-objects
XMLHttpRequesthttps://es.w3docs.com/learn-javascript/xmlhttprequest
JS Server-Sent Eventshttps://es.w3docs.com/learn-javascript/server-sent-events
Carga de archivos reanudablehttps://es.w3docs.com/learn-javascript/resumable-file-upload
Cookies: document.cookiehttps://es.w3docs.com/learn-javascript/cookies-document-cookie
LocalStorage, SessionStoragehttps://es.w3docs.com/learn-javascript/localstorage-sessionstorage
IndexedDBhttps://es.w3docs.com/learn-javascript/javascript-indexeddb
Animaciones CSShttps://es.w3docs.com/learn-javascript/css-animations
Animaciones con JavaScripthttps://es.w3docs.com/learn-javascript/javascript-animations
Web Componentshttps://es.w3docs.com/learn-javascript/web-components
Elementos Personalizadoshttps://es.w3docs.com/learn-javascript/custom-elements
Shadow DOMhttps://es.w3docs.com/learn-javascript/javascript-shadow-dom
Elemento Templatehttps://es.w3docs.com/learn-javascript/template-element
Shadow DOM: Slots y Composiciónhttps://es.w3docs.com/learn-javascript/shadow-dom-slots-composition
Estilos en el Shadow DOMhttps://es.w3docs.com/learn-javascript/shadow-dom-styling
Shadow DOM y Eventoshttps://es.w3docs.com/learn-javascript/shadow-dom-and-events
Regex en JShttps://es.w3docs.com/learn-javascript/regex
Patrones y Banderashttps://es.w3docs.com/learn-javascript/patterns-and-flags
Clases de Caractereshttps://es.w3docs.com/learn-javascript/character-classes
Unicode: bandera "u" y clase \p{...}https://es.w3docs.com/learn-javascript/unicode-flag-u-and-class-p
Anclas: inicio ^ y fin $ de cadenahttps://es.w3docs.com/learn-javascript/anchors-string-start-and-end
Modo multilínea de los anclajes ^ $, flag "m"https://es.w3docs.com/learn-javascript/multiline-mode-of-anchors-flag-m
Límite de palabra: \bhttps://es.w3docs.com/learn-javascript/word-boundary-b
Escapar, caracteres especialeshttps://es.w3docs.com/learn-javascript/escaping-special-characters
Conjuntos y rangos [...]https://es.w3docs.com/learn-javascript/javascript-sets-and-ranges
Cuantificadores +, *, ? y {n}https://es.w3docs.com/learn-javascript/quantifiers-and-n
Cuantificadores codiciosos y perezososhttps://es.w3docs.com/learn-javascript/greedy-and-lazy-quantifiers
Grupos de capturahttps://es.w3docs.com/learn-javascript/capturing-groups
Referencias inversas: \n y \khttps://es.w3docs.com/learn-javascript/backreferences-in-pattern-n-and-k-name
Alternancia (OR) en JavaScripthttps://es.w3docs.com/learn-javascript/javascript-alternation-or
Lookahead y Lookbehindhttps://es.w3docs.com/learn-javascript/lookahead-and-lookbehind
Retroceso Catastróficohttps://es.w3docs.com/learn-javascript/catastrophic-backtracking
Bandera sticky "y", búsqueda en una posiciónhttps://es.w3docs.com/learn-javascript/sticky-flag-y-searching-at-position
Métodos de RegExp y Stringhttps://es.w3docs.com/learn-javascript/javascript-regexp
Web Animations APIhttps://es.w3docs.com/learn-javascript/animations-api
File APIhttps://es.w3docs.com/learn-javascript/file-api
Battery APIhttps://es.w3docs.com/learn-javascript/battery-api
WebGLhttps://es.w3docs.com/learn-javascript/webgl
Push APIhttps://es.w3docs.com/learn-javascript/push-api
Screen Orientation APIhttps://es.w3docs.com/learn-javascript/screen-orientation-api
History APIhttps://es.w3docs.com/learn-javascript/history-api
API de consolahttps://es.w3docs.com/learn-javascript/console-api
Fullscreen APIhttps://es.w3docs.com/learn-javascript/fullscreen-api
API de Validaciónhttps://es.w3docs.com/learn-javascript/validation-api
Web Storage APIhttps://es.w3docs.com/learn-javascript/storage-api
Web MIDI APIhttps://es.w3docs.com/learn-javascript/web-midi-api
Web Workers en JShttps://es.w3docs.com/learn-javascript/web-workers
Service Workershttps://es.w3docs.com/learn-javascript/service-workers
WebSocketshttps://es.w3docs.com/learn-javascript/websockets
Geolocalizaciónhttps://es.w3docs.com/learn-javascript/geolocation
WebRTChttps://es.w3docs.com/learn-javascript/webrtc
Web Audio APIhttps://es.w3docs.com/learn-javascript/web-audio-api
API de Notificacioneshttps://es.w3docs.com/learn-javascript/notifications-api
La API de Vibraciónhttps://es.w3docs.com/learn-javascript/the-vibration-api
API Intl de JShttps://es.w3docs.com/learn-javascript/intl-api
Web Componentshttps://es.w3docs.com/learn-javascript/web-components
elemento personalizadohttps://es.w3docs.com/learn-javascript/custom-elements
Pruébalo tú mismo »https://es.w3docs.com/tools/editor#code=PGhlYWQ-CiAgPHN0eWxlPgogICAgLnNoYWRvdy1ib3ggewogICAgICBwYWRkaW5nOiAxMHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGNvcmFsOwogICAgICBjb2xvcjogd2hpdGU7CiAgICB9CiAgPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICA8ZGl2IGNsYXNzPSJzaGFkb3ctYm94Ij5UaGlzIGlzIHN0eWxlZCBieSB0aGUgbWFpbiBkb2N1bWVudDwvZGl2PgogIDxkaXYgaWQ9Imhvc3QiPjwvZGl2PgogIDxzY3JpcHQ-CiAgICAvLyBDcmVhdGUgYSBzaGFkb3cgcm9vdAogICAgY29uc3QgaG9zdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwogICAgY29uc3Qgc2hhZG93Um9vdCA9IGhvc3RFbGVtZW50LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJyB9KTsKCiAgICAvLyBBdHRhY2ggc2hhZG93IERPTSBjb250ZW50CiAgICBzaGFkb3dSb290LmlubmVySFRNTCA9IGAKICAgICAgPHN0eWxlPgogICAgICAgIC5zaGFkb3ctYm94IHsKICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOwogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRibHVlOwogICAgICAgICAgY29sb3I6IGJsYWNrOwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ic2hhZG93LWJveCI-SGVsbG8sIFNoYWRvdyBET00hPC9kaXY-CiAgICBgOwogIDwvc2NyaXB0Pgo8L2JvZHk-&lang=html
Pruébalo tú mismo »https://es.w3docs.com/tools/editor#code=PGJvZHk-CiAgPGRpdiBpZD0ib3Blbi1zaGFkb3ctaG9zdCI-PC9kaXY-CiAgPGJ1dHRvbiBpZD0ib3Blbi1zaGFkb3ctYnRuIj5DaGFuZ2UgU2hhZG93IENvbnRlbnQ8L2J1dHRvbj4KCiAgPHNjcmlwdD4KICAgIGNvbnN0IG9wZW5TaGFkb3dIb3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29wZW4tc2hhZG93LWhvc3QnKTsKICAgIGNvbnN0IG9wZW5TaGFkb3dSb290ID0gb3BlblNoYWRvd0hvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwoKICAgIG9wZW5TaGFkb3dSb290LmlubmVySFRNTCA9IGAKICAgICAgPHN0eWxlPgogICAgICAgIC5zaGFkb3ctY29udGVudCB7CiAgICAgICAgICBjb2xvcjogYmx1ZTsKICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKICAgICAgICB9CiAgICAgIDwvc3R5bGU-CiAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1jb250ZW50Ij5UaGlzIGlzIGFuIG9wZW4gc2hhZG93IHJvb3Q8L2Rpdj4KICAgIGA7CgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29wZW4tc2hhZG93LWJ0bicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gewogICAgICBvcGVuU2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcuc2hhZG93LWNvbnRlbnQnKS50ZXh0Q29udGVudCA9ICdPcGVuIFNoYWRvdyBSb290IGNvbnRlbnQgdXBkYXRlZCEnOwogICAgfSk7CiAgPC9zY3JpcHQ-CjwvYm9keT4&lang=html
Pruébalo tú mismo »https://es.w3docs.com/tools/editor#code=PGJvZHk-CiAgPGRpdiBpZD0iY2xvc2VkLXNoYWRvdy1ob3N0Ij48L2Rpdj4KICA8YnV0dG9uIGlkPSJjbG9zZWQtc2hhZG93LWJ0biI-VHJ5IHRvIENoYW5nZSBTaGFkb3cgQ29udGVudDwvYnV0dG9uPgoKICA8c2NyaXB0PgogICAgY29uc3QgY2xvc2VkU2hhZG93SG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbG9zZWQtc2hhZG93LWhvc3QnKTsKICAgIGNvbnN0IGNsb3NlZFNoYWRvd1Jvb3QgPSBjbG9zZWRTaGFkb3dIb3N0LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdjbG9zZWQnIH0pOwoKICAgIGNsb3NlZFNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYAogICAgICA8c3R5bGU-CiAgICAgICAgLnNoYWRvdy1jb250ZW50IHsKICAgICAgICAgIGNvbG9yOiByZWQ7CiAgICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJzaGFkb3ctY29udGVudCI-VGhpcyBpcyBhIGNsb3NlZCBzaGFkb3cgcm9vdDwvZGl2PgogICAgYDsKCiAgICAvLyBjbG9zZWRTaGFkb3dIb3N0LnNoYWRvd1Jvb3QgaXMgbnVsbCBmb3IgY2xvc2VkIHJvb3RzLCBzbyB0aGlzIHRocm93cyBhIFR5cGVFcnJvcgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nsb3NlZC1zaGFkb3ctYnRuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7CiAgICAgIHRyeSB7CiAgICAgICAgY2xvc2VkU2hhZG93SG9zdC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJy5zaGFkb3ctY29udGVudCcpLnRleHRDb250ZW50ID0gJ0F0dGVtcHRlZCB0byB1cGRhdGUgY2xvc2VkIHNoYWRvdyByb290ISc7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBhbGVydCgnQ2Fubm90IGFjY2VzcyBzaGFkb3cgcm9vdCBjb250ZW50IGZyb20gb3V0c2lkZSEnKTsKICAgICAgfQogICAgfSk7CiAgPC9zY3JpcHQ-CjwvYm9keT4&lang=html
Pruébalo tú mismo »https://es.w3docs.com/tools/editor#code=PGhlYWQ-CiAgPHN0eWxlPgogICAgLnN0eWxlZC1ib3ggewogICAgICBjb2xvcjogcmVkOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CiAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwogICAgfQogIDwvc3R5bGU-CjwvaGVhZD4KPGJvZHk-CiAgPGRpdiBjbGFzcz0ic3R5bGVkLWJveCI-VGhpcyBpcyBzdHlsZWQgYnkgdGhlIG1haW4gZG9jdW1lbnQ8L2Rpdj4KICA8ZGl2IGlkPSJzdHlsZWQtaG9zdCI-PC9kaXY-CgogIDxzY3JpcHQ-CiAgICBjb25zdCBzdHlsZWRIb3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0eWxlZC1ob3N0Jyk7CiAgICBjb25zdCBzaGFkb3dSb290ID0gc3R5bGVkSG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSk7CgogICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSBgCiAgICAgIDxzdHlsZT4KICAgICAgICAuc3R5bGVkLWJveCB7CiAgICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJzdHlsZWQtYm94Ij5TdHlsZWQgYnkgU2hhZG93IERPTTwvZGl2PgogICAgYDsKICA8L3NjcmlwdD4KPC9ib2R5Pg&lang=html
Pruébalo tú mismo »https://es.w3docs.com/tools/editor#code=PGRpdiBpZD0ic2xvdC1ob3N0Ij4KICA8c3BhbiBzbG90PSJ0aXRsZSI-U2hhZG93IERPTSBTbG90IEV4YW1wbGU8L3NwYW4-CjwvZGl2PgoKPHNjcmlwdD4KICBjb25zdCBzbG90SG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbG90LWhvc3QnKTsKICBjb25zdCBzaGFkb3dSb290ID0gc2xvdEhvc3QuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwoKICBzaGFkb3dSb290LmlubmVySFRNTCA9IGAKICAgIDxzdHlsZT4KICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgPGgxPjxzbG90IG5hbWU9InRpdGxlIj48L3Nsb3Q-PC9oMT4KICAgICAgPHA-VGhpcyBpcyBhIFNoYWRvdyBET00gY29tcG9uZW50IHdpdGggYSBzbG90IGZvciB0aGUgdGl0bGUuPC9wPgogICAgPC9kaXY-CiAgYDsKPC9zY3JpcHQ-&lang=html
Pruébalo tú mismo »https://es.w3docs.com/tools/editor#code=PGRpdiBpZD0iaW50ZXJhY3RpdmUtaG9zdCI-PC9kaXY-Cgo8c2NyaXB0PgogIGNvbnN0IGludGVyYWN0aXZlSG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnRlcmFjdGl2ZS1ob3N0Jyk7CiAgY29uc3Qgc2hhZG93Um9vdCA9IGludGVyYWN0aXZlSG9zdC5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSk7CgogIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYAogICAgPGJ1dHRvbiBpZD0ic2hhZG93LWJ0biI-Q2xpY2sgbWU8L2J1dHRvbj4KICBgOwoKICBjb25zdCBzaGFkb3dCdXR0b24gPSBzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJyNzaGFkb3ctYnRuJyk7CiAgc2hhZG93QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gewogICAgYWxlcnQoJ0J1dHRvbiBpbnNpZGUgU2hhZG93IERPTSBjbGlja2VkIScpOwogIH0pOwo8L3NjcmlwdD4&lang=html
Pruébalo tú mismo »https://es.w3docs.com/tools/editor#code=PGJvZHk-CiAgPGN1c3RvbS1jYXJkIHRpdGxlPSJIZWxsbyBXb3JsZCI-PC9jdXN0b20tY2FyZD4KCiAgPHNjcmlwdD4KICAgIGNsYXNzIEN1c3RvbUNhcmQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CiAgICAgIGNvbnN0cnVjdG9yKCkgewogICAgICAgIHN1cGVyKCk7CiAgICAgICAgY29uc3Qgc2hhZG93Um9vdCA9IHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwogICAgICAgIHNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYAogICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAuY2FyZCB7CiAgICAgICAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLDAsMCwwLjIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5jYXJkLXRpdGxlIHsKICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtOwogICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgICAgICAgfQogICAgICAgICAgPC9zdHlsZT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj4ke3RoaXMuZ2V0QXR0cmlidXRlKCd0aXRsZScpfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPjxzbG90Pjwvc2xvdD48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA7CiAgICAgIH0KICAgIH0KCiAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2N1c3RvbS1jYXJkJywgQ3VzdG9tQ2FyZCk7CiAgPC9zY3JpcHQ-CjwvYm9keT4&lang=html
elementos personalizadoshttps://es.w3docs.com/learn-javascript/custom-elements
elemento