Най-задълбочената програма по софтуерно инженерство в България
Loading...
Milko123 avatar Milko123 14 Точки

JS Advanced, DOM Manipulations Exe, Poblem 02 - Add/Delete

Здравейте,

За задача https://judge.softuni.bg/Contests/Practice/Index/1549#1 с решение https://pastebin.com/PKSfFaj1 имам няколко въпроса:

- какво е значението на ред 11 и на "#"

- какво е "е" при функцията на ред 13 и изобщо цялата логика на eventListener-a

- какво е значението на ред 16 и кое е this.parentNode

Тагове:
0
JavaScript Fundamentals
nickwork avatar nickwork 611 Точки
Best Answer

deleteLink.href = "#"; // това е anchor таг..който се използва за линкове..следователно href е пътя до който този линк трябва да води

 

deleteLink.addEventListener("click", function (e) // (е) се явява самият евент..

e.preventDefault(); // preventDefault ...поради това, че евента е върху а (помни, че и формите презареждат и трябва пак да се вика preventDefault ) таг, при клик събитие ще се презареди страницата, иммено за това се използва preventDefault , за да не се случи това => да няма презареждане в случая

 

this.parentNode.parentNode.removeChild(this.parentNode); // this в случая е обекта върху който е възникнал евента, parentNode е родителят от дома на този обект, щом е 2 пъти извикан parentNode.parentNode значи просто се изкачваме по нагоре по дом дървото

 

Направи малко тестове в браузъра като селектнеш някой елемент и на него му извикаш parentNode...после пробвай и  с parentNode.parentNode

1
Milko123 avatar Milko123 14 Точки

Благодаря! Разбрах всичко освен значението на знака "#" при href. Защо е точно този символ не мога да включа, въпреки, че прочетох и в MDN.

0
16/09/2020 19:43:59
nickwork avatar nickwork 611 Точки

Автора на решението просто е решил да сложи празен път по този начин за да не те прехвърля на друга страница, а да останеш на същият URL адрес :) ... не съм гледал условието на задачата...просто погледнах кода и въпросите ти..

Пробвай да напишеш deleteLink.href = "https://softuni.bg/" и махни preventDefault

0
16/09/2020 20:02:08