Задать вопрос
@danyarob

Как удалить родительский элемент через дочерний?

Надо по нажатию на delete_block удалить родительский header со всеми дочерними
<div class="header">
<div class="block" ">
    
</div>
<div class="block" ">
    
</div>
<div class="block" ">
<div onclick = "deleteitem(this)" class="delete_block"></div>
</div></div>
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Что помешало разобраться с этим вопросом самостоятельно? Всего-то надо было догадаться погуглить пару вещей:

1. Как получить родительский элемент
2. Как удалить элемент

Нет, серьёзно - ЧТО ВАМ ПОМЕШАЛО?

UPD.

Кого надо удалить, на кого надо нажимать, как будет производится удаление:

const itemSelector = '.header';
const buttonSelector = `${itemSelector} .delete_block`;
const remove = el => el.closest(itemSelector).remove();

Можно назначить обработчик клика каждой кнопке отдельно:

document.querySelectorAll(buttonSelector).forEach(function(n) {
  n.addEventListener('click', this);
}, e => remove(e.target));

Или, применить делегирование:

document.addEventListener('click', ({ target: t }) => (
  t.matches(buttonSelector) && remove(t)
));
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
zkrvndm
@zkrvndm
Архитектор решений
<div class="header">
<div class="block" ">
    
</div>
<div class="block" ">
    
</div>
<div class="block" ">
<div onclick = "this.parentElement.parentElement.removeChild(this);" class="delete_block"></div>
</div></div>
Ответ написан
Комментировать
MaKvc
@MaKvc
Отчаянный веб-разработчик
Давай за тебя погуглю?
parentElement, remove

<div>
  parent content
  
  <div onclick="this.parentElement.remove()">remove</div>
</div>


Задаваемые вопросы не перестают удивлять своей простотой, я бы даже сказал ТУПОСТЬЮ! С другой стороны, чего ждать от человека, который даже HTML разметку в примере к вопросу нормально написать не в состоянии...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы