Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/34: Рейтинг темы: голосов - 34, средняя оценка - 4.53
2 / 2 / 0
Регистрация: 05.09.2015
Сообщений: 68
1

Удаление родителя на JS

12.03.2016, 17:17. Показов 6916. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Подскажите почему в предоставленном ниже примере удаление родителя работает только через this? Интересует кусок кода со строки 88 до 92. Почему не работает закомментированный кусок кода 91-92 строки, ведь там же все логично, делаешь ссылку на родителя и удаляешь дочерний элемент, то есть родитель удаляет самого себя, так почему же он не удаляется?
Пример:
___________
http://plnkr.co/edit/Gb16VsXO9... ?p=preview
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2016, 17:17
Ответы с готовыми решениями:

Как при клике взять ID родителя и скрыть дивы с классом взятого ранее родителя?
Здравствуйте друзья, столкнулся с задачкой для решения которой у меня не хватает опыта JS...

Вывод поста, который содержит id категории, её родителя, родителя родителя
Есть 2 таблицы, первая - категории ( category_id, parent_id и т.д), вторая - посты (post_id,...

Удаление объекта и его родителя
У меня динамически создается TGroupBox, на нем картинка (Timage). Как сделать чтобы при клике по...

Hibernate manytoone удаление дочерних элементов родителя
Https://codeshare.io/298og0 - код тут private String factad; public OperatorPersData() {...

2
10 / 10 / 10
Регистрация: 23.07.2015
Сообщений: 55
12.03.2016, 18:03 2
Лучший ответ Сообщение было отмечено WebCyber как решение

Решение

Возможно, потому что функция removeChild(child) удаляет дочерний элемент из DOM. Она может удалить все элементы вашего родителя, но никак самого родителя.
Попробуйте так:
Javascript
1
2
                   var delBlock = e.target;
           delBlock.parentNode.removeChild(delBlock);
Javascript
1
2
           var delBlock = e.target.parentNode;
           delBlock.removeChild(e.target);
Добавлено через 14 минут
Или попробуйте так:
Javascript
1
2
var delBlock = e.target.parentNode;
       delBlock.parentNode.removeChild(delBlock);
Ваш элемент(родитель) будет полностью удален!
0
2 / 2 / 0
Регистрация: 05.09.2015
Сообщений: 68
12.03.2016, 19:36  [ТС] 3
Да, ваш вариант работает. Спасибо.
Но мне не понятно почему не работает скажем такой вариант?(без переменной)
e.target.parentNode.parentNode.removeChild(this);
в этой строке так же получается как бы двойная ссылка на родителя который должен удалить самого себя, почему не работает?
0
12.03.2016, 19:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2016, 19:36
Помогаю со студенческими работами здесь

Лишнее удаление родителя при создании класса наследника
Не могу понять откуда в выводе программы появляется первая надпись "delete A". По идее надписей...

Потеря родителя
Всем привет! Создал дочерний документ, сохранили все ок. Затем открываю этот же дочерний...

Поиск родителя
Всем доброго времени суток! Ситуация такая Есть html код: <div class="item"> ... <div...

Определить родителя
Доброго времени суток всем. Недавно только начал изучать WPF и столкнулся с такой проблемой: ...

Определение ID родителя
Здравствуйте ! Есть задача. Есть 3 div в каждом есть вложенный div . Нужно при наведении...

Событие родителя
Есть некий обработчик события Родителя (TForm) который нужно использовать при OnClose, OnActive и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru