кто-нибудь может объяснить, что делают эти функции

#javascript

#javascript

Вопрос:

 function deleteParentNodeOnClick() {
  for (var i = 0; i < deleteButton.length; i  ) {
    deleteButton[i].addEventListener("click", deleteNodeOnClick);
  }
}

function deleteNodeOnClick(e) {
  var trash = document.querySelectorAll("i");
  for (var ind = 0; ind < trash.length; ind  ) {
    console.log(e);
    this.parentNode.parentNode.remove();
  }
}
 

Комментарии:

1. Код имеет мало смысла для меня. Цикл в deleteNodeOnClick никогда не используется ind . Он продолжает удалять один и тот же дедушкин узел, а не что-либо связанное с trash .

2. deleteParentNodeOnClick добавляет прослушиватель щелчков в массив кнопок удаления. deleteNodeOnClick — это прослушиватель событий. Он получает все теги <i> и удаляет что-то еще прародителя. Без дополнительного контекста я не знаю, к чему this относится.

3. @CharlesBamford this — это нажатая кнопка.

4. Ах, я думал, что это jQuery, и вам нужен event.target в vanillajs. Til

5. @CharlesBamford На самом деле, я подозреваю, что этот код является результатом того, что кто-то неправильно перевел jQuery в ванильный JS. Вероятно, они преобразованы $("i").each() в for цикл. .each() связывается this в функции обратного вызова, for не делает этого в своем теле.