Manipulacja DOM w TypeScript
Ten artykuł wyjaśnia, jak manipulować DOM w TypeScript.
Dowiesz się, jak manipulować elementami DOM oraz jak dodawać i usuwać elementy z drzewa DOM za pomocą przykładów kodu.
YouTube Video
Manipulacja DOM w TypeScript
Manipulacja DOM w TypeScript odbywa się podobnie jak w JavaScript, jednak TypeScript zapewnia sprawdzanie typów, co czyni operacje bezpieczniejszymi. DOM (Document Object Model) to model obiektowy umożliwiający programistyczną manipulację dokumentami HTML i XML. Pozwala na dostęp do stron wyświetlanych w przeglądarce, dodawanie lub usuwanie elementów oraz zmianę stylów.
Przedstawmy podstawowe metody manipulacji DOM przy użyciu TypeScript.
Pobieranie elementów DOM
Aby pobrać elementy HTML, użyj obiektu document. Najczęściej używane są następujące metody:.
document.getElementByIddocument.getElementByIdpobiera element o określonym atrybucie ID.`.
1// Type is HTMLElement | null
2const element = document.getElementById('myElement');
3if (element) {
4 console.log(element.innerHTML);
5}document.getElementByIdpobiera element o podanym ID i pozwala uzyskać dostęp do jego zawartości, jeśli istnieje.`.
document.querySelectordocument.querySelectorpobiera pierwszy element pasujący do selektora CSS.`.
1// Type is Element | null
2const element = document.querySelector('.myClass');
3if (element) {
4 console.log(element.textContent);
5}document.querySelectorpobiera pierwszy element pasujący do określonego selektora CSS i pozwala uzyskać dostęp do jego zawartości, jeśli istnieje.`.
document.querySelectorAlldocument.querySelectorAllpobiera wszystkie elementy pasujące do selektora CSS.`.
1// Type is NodeListOf<HTMLDivElement>
2const elements = document.querySelectorAll('div');
3elements.forEach((el) => console.log(el.innerHTML));document.querySelectorAllpobiera wszystkie elementy pasujące do określonego selektora CSS i pozwala uzyskać dostęp do ich zawartości poprzez iterację.`.
Asercja typu elementu
W TypeScript jawne zadeklarowanie typu elementu umożliwia korzystanie z bardziej specyficznych metod i właściwości.
1const inputElement = document.getElementById('myInput') as HTMLInputElement;
2if (inputElement) {
3 console.log(inputElement.value); // Access the value property of the input element
4}- Słowo kluczowe
asjest operatorem asercji typu w TypeScript, używanym do jawnego informowania kompilatora, że wartość powinna być traktowana jako określony typ. - W TypeScript możesz używać asercji typu, aby traktować pobrany element jako określony typ i uzyskać dostęp do właściwości lub metod specyficznych dla tego typu.
Manipulowanie DOM
Manipulacja DOM odbywa się za pomocą właściwości elementów. Pozwala to elastycznie kontrolować zmiany tekstu lub atrybutów, stosować style oraz aktualizować wyświetlaną treść.
-
Zmiana tekstu elementu
Tekst lub HTML elementu możesz zmienić za pomocą właściwości
textContentlubinnerHTML.
1const element = document.getElementById('myElement');
2if (element) {
3 element.textContent = 'New Text'; // Set the text content to 'New Text'
4}- Możesz użyć
textContentlubinnerHTMLelementu, aby zmienić wyświetlany tekst lub zawartość HTML.
-
Zmiana stylu elementu
Możesz modyfikować style inline przy pomocy właściwości
styleelementu.
1const element = document.getElementById('myElement');
2if (element) {
3 element.style.color = 'blue';
4 element.style.fontSize = '20px';
5}- Ten kod pobiera konkretny element, zmienia kolor jego tekstu na niebieski i ustawia rozmiar czcionki na 20px.
-
Zmiana atrybutów elementu
Aby zmienić atrybuty elementu, użyj
setAttribute.
1const link = document.querySelector('a');
2if (link) {
3 link.setAttribute('href', 'https://example.com');
4}- Ten kod zmienia atrybut
hrefpierwszego elementu linku na stronie nahttps://example.com.
-
Manipulacja klasami elementów
Aby dodać lub usunąć klasy elementu, użyj
classList.
1const element = document.getElementById('myElement');
2if (element) {
3 element.classList.add('active');
4 element.classList.remove('inactive');
5}- Ten kod dodaje klasę
activei usuwa klasęinactivez określonego elementu.
Dodawanie i usuwanie elementów DOM
Możesz także dodawać nowe elementy lub usuwać istniejące. Umożliwia to dynamiczną zmianę struktury strony w odpowiedzi na działania użytkownika lub stan aplikacji.
-
Tworzenie i dodawanie nowych elementów
Użyj
document.createElement, aby utworzyć nowy element i dodać go do DOM.
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
- Ten kod tworzy nowy element
<div>, ustawia jego tekst i dodaje go do<body>strony.
-
Usuwanie elementów
Aby usunąć element, użyj metod
removeChildlubremove.
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}- Ten kod pokazuje, jak usunąć określony element potomny z jego rodzica oraz jak bezpośrednio usunąć sam element.
Dodawanie zdarzeń
W TypeScript możesz dodawać nasłuchiwacze zdarzeń do elementów, aby wykonywać akcje na podstawie interakcji użytkownika.
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}- Ten kod dodaje nasłuchiwacz zdarzeń, który wyświetla wiadomość w konsoli po kliknięciu przycisku.
- Korzystając z
addEventListener, możesz nasłuchiwać i obsługiwać różne zdarzenia, takie jak kliknięcia, ruchy myszy czy wprowadzanie z klawiatury.
Wskazówki dotyczące manipulacji DOM w TypeScript
Podczas manipulowania DOM za pomocą TypeScript, zwracanie uwagi na definicje typów elementów oraz sprawdzanie wartości null może pomóc zapobiec błędom i pozwolić na pisanie solidnego kodu.
-
Sprawdzanie wartości null
Ponieważ element DOM może nie istnieć, przed manipulacją elementami w TypeScript zaleca się sprawdzenie, czy nie są one nullem.
-
Jawna asercja typu
Podczas operowania na konkretnym elemencie (na przykład
HTMLInputElement), często stosuje się asercję (as), aby określić typ i korzystać ze specyficznych właściwości, takich jakvalue.
Pamiętając o tych zasadach, manipulacja DOM w TypeScript pozwala pisać bezpieczniejszy i bardziej przewidywalny kod, łącząc elastyczność JavaScript z bezpieczeństwem typów TypeScript.
Możesz śledzić ten artykuł, korzystając z Visual Studio Code na naszym kanale YouTube. Proszę również sprawdzić nasz kanał YouTube.