En aquest tema, aprendrem com crear i eliminar elements del Document Object Model (DOM) utilitzant JavaScript. Aquestes habilitats són essencials per a la manipulació dinàmica de pàgines web, permetent-nos afegir, modificar o eliminar contingut de manera interactiva.
Conceptes Clau
- DOM (Document Object Model): És una representació estructurada del document HTML que permet a JavaScript accedir i manipular el contingut, estructura i estil de la pàgina web.
- Creació d'Elements: Utilitzem el mètode
document.createElement()
per crear nous elements HTML. - Afegir Elements al DOM: Utilitzem mètodes com
appendChild()
,insertBefore()
, iappend()
per inserir els elements creats al DOM. - Eliminació d'Elements: Utilitzem el mètode
removeChild()
oremove()
per eliminar elements del DOM.
Creació d'Elements
document.createElement()
Aquest mètode crea un nou element HTML especificat pel seu nom de tag.
Afegir Contingut a l'Element
Podem afegir text o altres elements al nou element creat.
Afegir Atributs a l'Element
Podem afegir atributs com classes, id, etc.
Afegir Elements al DOM
appendChild()
Aquest mètode afegeix un node com a últim fill d'un node pare especificat.
// Seleccionar un element existent al DOM let container = document.getElementById('container'); // Afegir el nou <div> com a fill del container container.appendChild(newDiv);
insertBefore()
Aquest mètode insereix un node abans d'un node de referència especificat.
// Seleccionar un element existent al DOM let referenceNode = document.getElementById('reference'); // Inserir el nou <div> abans del node de referència container.insertBefore(newDiv, referenceNode);
append()
Aquest mètode afegeix un node o text com a últim fill d'un node pare especificat. A diferència de appendChild()
, append()
pot afegir múltiples nodes i text.
Eliminació d'Elements
removeChild()
Aquest mètode elimina un node fill d'un node pare especificat.
// Seleccionar un element existent al DOM let elementToRemove = document.getElementById('element-to-remove'); // Eliminar l'element container.removeChild(elementToRemove);
remove()
Aquest mètode elimina l'element del DOM directament.
// Seleccionar un element existent al DOM let elementToRemove = document.getElementById('element-to-remove'); // Eliminar l'element elementToRemove.remove();
Exemple Pràctic
A continuació, es mostra un exemple complet que crea un nou element, l'afegeix al DOM i després l'elimina.
<!DOCTYPE html> <html lang="ca"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Manipulació del DOM</title> </head> <body> <div id="container"> <p id="reference">Aquest és un paràgraf de referència.</p> </div> <script> // Crear un nou element <div> let newDiv = document.createElement('div'); newDiv.textContent = 'Hola, sóc un nou div!'; newDiv.className = 'nou-div'; // Seleccionar el container let container = document.getElementById('container'); // Afegir el nou <div> al container container.appendChild(newDiv); // Eliminar el nou <div> després de 3 segons setTimeout(() => { newDiv.remove(); }, 3000); </script> </body> </html>
Exercicis Pràctics
Exercici 1: Crear i Afegir un Element
- Crea un nou element
<p>
amb el text "Aquest és un nou paràgraf". - Afegeix aquest nou paràgraf a un element existent amb l'id
content
.
Solució
let newParagraph = document.createElement('p'); newParagraph.textContent = 'Aquest és un nou paràgraf'; let content = document.getElementById('content'); content.appendChild(newParagraph);
Exercici 2: Eliminar un Element
- Selecciona un element amb l'id
to-remove
. - Elimina aquest element del DOM.
Solució
Resum
En aquesta secció, hem après com crear i eliminar elements del DOM utilitzant JavaScript. Hem vist com utilitzar mètodes com document.createElement()
, appendChild()
, insertBefore()
, append()
, removeChild()
i remove()
. Aquests coneixements són fonamentals per a la manipulació dinàmica de pàgines web, permetent-nos afegir, modificar o eliminar contingut de manera interactiva.
JavaScript: De Principiant a Avançat
Mòdul 1: Introducció a JavaScript
- Què és JavaScript?
- Configuració del Teu Entorn de Desenvolupament
- El Teu Primer Programa en JavaScript
- Sintaxi i Conceptes Bàsics de JavaScript
- Variables i Tipus de Dades
- Operadors Bàsics
Mòdul 2: Estructures de Control
- Declaracions Condicionals
- Bucles: for, while, do-while
- Declaracions Switch
- Gestió d'Errors amb try-catch
Mòdul 3: Funcions
- Definició i Crida de Funcions
- Expressions de Funció i Funcions Fletxa
- Paràmetres i Valors de Retorn
- Àmbit i Tancaments
- Funcions d'Ordre Superior
Mòdul 4: Objectes i Arrays
- Introducció als Objectes
- Mètodes d'Objecte i Paraula Clau 'this'
- Arrays: Conceptes Bàsics i Mètodes
- Iteració sobre Arrays
- Desestructuració d'Arrays
Mòdul 5: Objectes i Funcions Avançades
- Prototips i Herència
- Classes i Programació Orientada a Objectes
- Mòduls i Importació/Exportació
- JavaScript Asíncron: Callbacks
- Promeses i Async/Await
Mòdul 6: El Model d'Objectes del Document (DOM)
- Introducció al DOM
- Selecció i Manipulació d'Elements del DOM
- Gestió d'Esdeveniments
- Creació i Eliminació d'Elements del DOM
- Gestió i Validació de Formularis
Mòdul 7: APIs del Navegador i Temes Avançats
- Emmagatzematge Local i de Sessió
- Fetch API i AJAX
- WebSockets
- Service Workers i Aplicacions Web Progressives (PWAs)
- Introducció a WebAssembly
Mòdul 8: Proves i Depuració
- Depuració de JavaScript
- Proves Unitàries amb Jest
- Proves d'Integració
- Proves de Cap a Cap amb Cypress
Mòdul 9: Rendiment i Optimització
- Optimització del Rendiment de JavaScript
- Gestió de Memòria
- Manipulació Eficient del DOM
- Càrrega Per Mandat i Divisió de Codi
Mòdul 10: Frameworks i Llibreries de JavaScript
- Introducció a React
- Gestió d'Estat amb Redux
- Conceptes Bàsics de Vue.js
- Conceptes Bàsics d'Angular
- Triar el Framework Adequat