+ - 0:00:00
Notes for current slide
Notes for next slide

Javascript

DOM

Mateu Yábar

1 / 17

DOM api

2 / 17

Seleccionar element del DOM

const button = document.querySelector("#myButton"); // Un element
const buttons = document.querySelectorAll("button"); // Molts elements
const elem1 =document.getElementById("id")
const elem2 =document.getElementsByClassName("className")
const elem3 =document.getElementsByTagName("tagName")
3 / 17

Afegir un event

const button = document.querySelector("#myButton");
button.addEventListener("click", updateName);
function updateName() {
button.textContent = "Hello Javascript";
}
const buttons = document.querySelectorAll("button");
for (const button of buttons) {
button.addEventListener("click", updateName);
}
function updateName() {
button.textContent = "Hello Javascript";
}
4 / 17

Modificació d'elements del DOM

element.textContent
element.innerHTML
input.value
element.setAttribute(attribute, value)
element.getAttribute(attribute)
5 / 17

Exercicis

  • HelloName
  • One button clicked
6 / 17

Modificar estil

element.style
element.style.backgroundColor = "blue";
element.style.border = "1px solid blue";
7 / 17

Modificar classes

element.classList.add(className)
element.classList.remove(className)
element.classList.toggle(className)
element.classList.contains(className)
8 / 17

Exercicis

  • Highlight Welcome
  • Highlight welcome as class
9 / 17

Creació i eliminació d'elements

const node = document.createElement(tagName);
parentElement.appendChild(node);
node.remove();
10 / 17

Templates

const template = document.createElement('template');
template.innerHTML = "<ul><li>it1</li><li>it2</li></ul>";
const node = template.content.firstElementChild;
container.appendChild(node);
11 / 17

funció anònima

  • S'utilitzen una sola vegada o com a callbacks.
  • Són útils quan necessitem passar una funció com a argument d'una altra funció ( event listener , map, filter...).
    const sayHello = function() {
    console.log('Hi!');
    };
    sayHello();
button.addEventListener("click", function() {
console.log('Hi!');
});
12 / 17

Funció fletxa

const sayHello = () => {
console.log('Hello!');
};
sayHello();
  • Permet una sintaxi concisa.
  • Si la funció té un sol retorn, es pot ometre la paraula clau return i els claudàtors {} -
    button.addEventListener("click", () => console.log("HELLO"));
13 / 17

Exercicis

  • ItemList
  • ItemListWithRemove
14 / 17

Events en JavaScript

  • Són accions o successos que ocorren en una pàgina web.
  • Causades per:
    • accions de l'usuari.
    • esdeveniments del sistema.
  • Es gestionen amb:
    • event listeners : escolten o esperen el succés.
    • callbacks: acció que es duu a terme després de l'event.
element.addEventListener('event', callback);
element.removeEventListener('click', callback);
15 / 17

Principals tipus d'events

  • Events de ratolí: click, dblclick, mouseover, mouseout, mousemove, contextmenu.
  • Events de teclat: keydown, keyup, keypress.
  • Events de formulari: submit, change, focus, blur, input.
  • Events de la finestra: load, resize, scroll.
  • Events de DOM: DOMContentLoaded, animationend, transitionend, error.

Nota: en un formulari s'ha de validar en un event de submit

16 / 17

Funcions de manipulació de CSS

window.getComputedStyle(element) // Retorna un objecte amb els valors CSS computats d'un element.
17 / 17

DOM api

2 / 17
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow