DOM-manipulering i TypeScript
Denne artikkelen forklarer DOM-manipulering i TypeScript.
Du vil lære hvordan du manipulerer DOM-elementer, og hvordan du legger til eller fjerner elementer fra DOM-treet gjennom kodeeksempler.
YouTube Video
DOM-manipulering i TypeScript
DOM-manipulering i TypeScript utføres på lignende måte som i JavaScript, men TypeScript gir typetesting, noe som gjør operasjonene tryggere. DOM (Document Object Model) er en objektmodell som brukes til å manipulere HTML- og XML-dokumenter programmessig. Den gjør det mulig å få tilgang til sider vist i nettleseren, legge til eller fjerne elementer, eller endre stiler.
La oss introdusere de grunnleggende metodene for å manipulere DOM ved hjelp av TypeScript.
Hente DOM-elementer
Bruk document
-objektet for å hente HTML-elementer. Følgende metoder brukes ofte:.
document.getElementById
document.getElementById
henter elementet med det angitte ID-attributtet.`.
1// Type is HTMLElement | null
2const element = document.getElementById('myElement');
3if (element) {
4 console.log(element.innerHTML);
5}
document.getElementById
henter elementet med den angitte ID-en og lar deg få tilgang til innholdet hvis det eksisterer.`.
document.querySelector
document.querySelector
henter det første elementet som samsvarer med CSS-selektoren.`.
1// Type is Element | null
2const element = document.querySelector('.myClass');
3if (element) {
4 console.log(element.textContent);
5}
document.querySelector
henter det første elementet som samsvarer med den angitte CSS-selektoren og lar deg få tilgang til innholdet hvis det eksisterer.`.
document.querySelectorAll
document.querySelectorAll
henter alle elementene som samsvarer med CSS-selektoren.`.
1// Type is NodeListOf<HTMLDivElement>
2const elements = document.querySelectorAll('div');
3elements.forEach((el) => console.log(el.innerHTML));
document.querySelectorAll
henter alle elementene som samsvarer med den angitte CSS-selektoren, og lar deg få tilgang til innholdet deres gjennom iterasjon.`.
Element typepåstand
I TypeScript gjør eksplisitt typepåstand det mulig å bruke mer spesifikke metoder og egenskaper for et element.
1const inputElement = document.getElementById('myInput') as HTMLInputElement;
2if (inputElement) {
3 console.log(inputElement.value); // Access the value property of the input element
4}
as
-nøkkelordet er en typepåstandsoperator i TypeScript, brukt for å eksplisitt fortelle kompilatoren å behandle en verdi som en bestemt type.- I TypeScript kan du bruke typepåstander for å behandle det hentede elementet som en bestemt type og få tilgang til egenskaper eller metoder som er spesifikke for den typen.
Manipulering av DOM
Manipulering av DOM utføres gjennom egenskapene til elementene. Dette lar deg fleksibelt kontrollere endringer i tekst eller attributter, bruke stiler og oppdatere vist innhold.
-
Endre tekst for et element
Du kan endre teksten eller HTML-en til et element ved å bruke
textContent
ellerinnerHTML
.
1const element = document.getElementById('myElement');
2if (element) {
3 element.textContent = 'New Text'; // Set the text content to 'New Text'
4}
- Du kan bruke
textContent
ellerinnerHTML
på et element for å endre den viste teksten eller HTML-innholdet.
-
Endre stil for et element
Du kan endre inline-stiler ved å bruke elementets
style
-egenskap.
1const element = document.getElementById('myElement');
2if (element) {
3 element.style.color = 'blue';
4 element.style.fontSize = '20px';
5}
- Denne koden henter et spesifikt element, endrer tekstfargen til blå og setter skriftstørrelsen til 20px.
-
Endre attributter for et element
Hvis du vil endre et elements attributter, bruk
setAttribute
.
1const link = document.querySelector('a');
2if (link) {
3 link.setAttribute('href', 'https://example.com');
4}
- Denne koden endrer
href
-attributtet til det første lenkeelementet på siden tilhttps://example.com
.
-
Manipulere elementklasser
For å legge til eller fjerne elementklasser, bruk
classList
.
1const element = document.getElementById('myElement');
2if (element) {
3 element.classList.add('active');
4 element.classList.remove('inactive');
5}
- Denne koden legger til
active
-klassen og fjernerinactive
-klassen fra et bestemt element.
Legge til og fjerne DOM-elementer
Du kan også legge til nye elementer eller fjerne eksisterende. Dette gjør det mulig å dynamisk endre sidestrukturen som respons på brukerhandlinger eller applikasjonens tilstand.
-
Opprette og legge til nye elementer
Bruk
document.createElement
for å opprette et nytt element og legge det til i DOM-en.
1const newDiv = document.createElement('div');
2newDiv.textContent = 'New Element'; // Set the text content to 'New Element'
3document.body.appendChild(newDiv); // Add the new element to the body
- Denne koden oppretter et nytt
<div>
-element, setter teksten og legger det til i sidens<body>
.
-
Fjerne elementer
For å fjerne et element, bruk
removeChild
ellerremove
-metodene.
1const parentElement = document.getElementById('parentElement');
2const childElement = document.getElementById('childElement');
3if (parentElement && childElement) {
4 parentElement.removeChild(childElement); // Remove the child element
5}
6
7// Alternatively
8const element = document.getElementById('myElement');
9if (element) {
10 element.remove(); // Remove the element itself
11}
- Denne koden viser hvordan du fjerner et spesifikt barneelement fra forelderen og hvordan du direkte kan fjerne elementet selv.
Legge til hendelser
I TypeScript kan du legge til hendelseslyttere på elementer for å utføre handlinger basert på brukerinteraksjoner.
1const button = document.getElementById('myButton');
2if (button) {
3 button.addEventListener('click', () => {
4 console.log('Button was clicked'); // Log when the button is clicked
5 });
6}
- Denne koden legger til en hendelseslytter som viser en melding i konsollen når knappen klikkes.
- Ved å bruke
addEventListener
kan du lytte etter og håndtere ulike hendelser som klikk, musebevegelser og tastaturinngang.
Ting å merke seg ved DOM-manipulering i TypeScript
Når du manipulerer DOM med TypeScript, kan det å være oppmerksom på elementtypedefinisjoner og null
-sjekker bidra til å forhindre feil og gjøre det mulig å skrive robust kode.
-
Nullsjekk
Fordi et DOM-element kanskje ikke eksisterer, anbefales det å gjøre en nullsjekk før du manipulerer elementer i TypeScript.
-
Eksplisitt typepåstand
Når du jobber med et spesifikt element (for eksempel en
HTMLInputElement
), er det vanlig å bruke en typepåstand (as
) for å spesifisere typen og bruke element-spesifikke egenskaper somvalue
.
Med dette i tankene lar DOM-manipulering med TypeScript deg skrive tryggere og mer forutsigbar kode ved å kombinere fleksibiliteten i JavaScript med typesikkerheten i TypeScript.
Du kan følge med på artikkelen ovenfor ved å bruke Visual Studio Code på vår YouTube-kanal. Vennligst sjekk ut YouTube-kanalen.