En aquest tema, aprendrem com seleccionar i manipular elements del Document Object Model (DOM) utilitzant JavaScript. El DOM és una representació estructurada del document HTML que permet a JavaScript accedir i modificar el contingut, l'estructura i l'estil de la pàgina web.
- Selecció d'Elements del DOM
1.1. getElementById
Aquest mètode retorna un element amb un ID específic.
// HTML: <div id="myDiv">Hello World</div> const myDiv = document.getElementById('myDiv'); console.log(myDiv); // <div id="myDiv">Hello World</div>
1.2. getElementsByClassName
Aquest mètode retorna una col·lecció d'elements amb una classe específica.
// HTML: <div class="myClass">Hello</div><div class="myClass">World</div> const elements = document.getElementsByClassName('myClass'); console.log(elements); // HTMLCollection [div.myClass, div.myClass]
1.3. getElementsByTagName
Aquest mètode retorna una col·lecció d'elements amb un nom de tag específic.
// HTML: <p>Paragraph 1</p><p>Paragraph 2</p> const paragraphs = document.getElementsByTagName('p'); console.log(paragraphs); // HTMLCollection [p, p]
1.4. querySelector
Aquest mètode retorna el primer element que coincideix amb un selector CSS.
// HTML: <div class="myClass">Hello</div> const element = document.querySelector('.myClass'); console.log(element); // <div class="myClass">Hello</div>
1.5. querySelectorAll
Aquest mètode retorna tots els elements que coincideixen amb un selector CSS.
// HTML: <div class="myClass">Hello</div><div class="myClass">World</div> const elements = document.querySelectorAll('.myClass'); console.log(elements); // NodeList [div.myClass, div.myClass]
- Manipulació d'Elements del DOM
2.1. Modificar el Contingut de Text
Podem utilitzar la propietat textContent
per modificar el text d'un element.
2.2. Modificar el Contingut HTML
Podem utilitzar la propietat innerHTML
per modificar el contingut HTML d'un element.
2.3. Modificar Atributs
Podem utilitzar el mètode setAttribute
per modificar els atributs d'un element.
2.4. Modificar Estils
Podem utilitzar la propietat style
per modificar els estils CSS d'un element.
const myDiv = document.getElementById('myDiv'); myDiv.style.color = 'blue'; myDiv.style.fontSize = '20px';
2.5. Afegir i Eliminar Classes
Podem utilitzar les propietats classList.add
i classList.remove
per afegir o eliminar classes d'un element.
const myDiv = document.getElementById('myDiv'); myDiv.classList.add('newClass'); myDiv.classList.remove('oldClass');
Exercicis Pràctics
Exercici 1
Selecciona l'element amb l'ID header
i canvia el seu text a "Benvingut al meu lloc web".
// JavaScript const header = document.getElementById('header'); header.textContent = 'Benvingut al meu lloc web';
Exercici 2
Selecciona tots els elements amb la classe item
i canvia el seu color de text a vermell.
<!-- HTML --> <ul> <li class="item">Item 1</li> <li class="item">Item 2</li> <li class="item">Item 3</li> </ul>
// JavaScript const items = document.querySelectorAll('.item'); items.forEach(item => { item.style.color = 'red'; });
Exercici 3
Afegeix la classe highlight
a l'element amb el tag p
.
Conclusió
En aquesta secció, hem après com seleccionar i manipular elements del DOM utilitzant JavaScript. Hem vist diversos mètodes per seleccionar elements i diferents tècniques per modificar el seu contingut, atributs i estils. La manipulació del DOM és una habilitat fonamental per a qualsevol desenvolupador web, ja que permet crear pàgines web dinàmiques i interactives. En el següent tema, explorarem la gestió d'esdeveniments en el DOM.
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