Link do usuwania elementu w JavaScript
Załóżmy, że mamy akapit. Stwórzmy obok niego link, za pomocą którego ten akapit będzie można usunąć.
Zaimplementujmy:
<div id="parent">
<p id="elem">tekst</p>
<a href="#" id="remove">usuń</a>
</div>
let elem = document.querySelector('#elem');
let remove = document.querySelector('#remove');
remove.addEventListener('click', function() {
elem.remove();
});
Zwróć uwagę, że w atrybucie href linka znajduje się #. Jeśli usuniemy ten krzyżyk - otrzymamy przejście przez link i, w konsekwencji, odświeżenie strony.
Tak naprawdę usunięcie akapitu również będzie miało miejsce, ale nie zauważymy tego, ponieważ strona odświeży się i wszystko wróci do stanu początkowego.
Aby rozwiązać problem, należy zapobiec
przejściu przez link za pomocą preventDefault:
<div id="parent">
<p id="elem">tekst</p>
<a href="" id="remove">usuń</a>
</div>
let elem = document.querySelector('#elem');
let remove = document.querySelector('#remove');
remove.addEventListener('click', function(event) {
elem.remove();
event.preventDefault(); // anulujemy przejście przez link
});
Samodzielnie, bez podglądania mojego kodu, rozwiąż opisane zadanie.