удалить родительский узел с помощью JavaScript (новый подход)

1

У моего друга был javascript-тест, и был этот вопрос, который не оставил меня в покое. Я думал, вы, ребята, можете ответить. Рассмотрим этот простой html

<div>
  <img src='whatever'>
  <button>x</button>
<div>
<div>
  <img src='whatever2'>
  <button>x</button>
<div>

мы хотим, чтобы кнопка на кнопке запускала функцию, которая не принимает никакого параметра для удаления родительского узла нажатой кнопки.

function deleteParent(){

}

можете ли вы предложить идею? помните, что ключ состоит в том, что функция не получит параметр

Теги:

1 ответ

2
Лучший ответ

Как указано в комментариях, вам нужно будет сначала добавить слушателя к вашим кнопкам, чтобы прослушать событие click, когда это событие будет выполнено, удалите родительский узел с this.parentNode.remove();

var buttons = document.querySelectorAll('button');
buttons.forEach(function(elem){
 elem.addEventListener("click",function(){
   this.parentNode.remove();
 });
});
<div>
  <img src=''>
  <button>x</button>
</div>
<div>
  <img src=''>
  <button>x</button>
</div>
  • 0
    возможно, стоит поставить версию не ECMA 5 (т.е. без функции стрелки / foreach) для совместимости со старыми браузерами?
  • 0
    Да, спасибо за совет, я изменил ответ

Ещё вопросы

Сообщество Overcoder
Наверх
Меню