Всем привет! Подскажите, пожалуйста, как реализовать удаление строки tr
через нажатие иконку fa-trash
. Вот здесь DOM, внизу опишу свой скрипт.
А вот сам скрипт:
var table = document.querySelector('.table');
table.addEventListener('click', checkAct);
function checkAct(event) {
var target = event.target;
if (target.tagName === 'TD' && target.className !== 'delete') {
editTd(target);
} else if (target.tagName === 'TD' && target.className === 'delete') {
deleteTr(target);
}
}
function deleteTr(target) {
var tr = target.closest('tr');
if (tr) {
tr.parentNode.removeChild(tr);
}
}
<table class="table">
<tr>
<th>Имя</th>
<th>Фамилия</th>
<th>Удалить</th>
</tr>
<tr>
<td>Иван</td>
<td>Васильевич</td>
<td class="delete"><a href="#"><i class="fa fa-trash"></i></a></td>
</tr>
<tr>
<td>Влад</td>
<td>Анатольевич</td>
<td class="delete"><a href="#"><i class="fa fa-trash"></i></a></td>
</tr>
</table>
<form action="" id="form">
<input type="text" name="" class="name" placeholder="Введите имя">
<input type="text" name="" class="surname" placeholder="Введите фамилию">
<button type="submit" class="btn">Добавить строку</button>
</form>
Когда я нажимаю на область td
-шки строка tr
удаляется, а когда нажимаю на иконку fa-trash
скрипт не работает, я понимаю что ошибка с target
-ом в аргументе функции deleteTr
, но не могу разобрать что можно сделать.
Помогите как реализовать данный скрипт, и обязательно через метод closest
. И если сможете поясните поподробнее, очень прошу.
Вот :
document.querySelector('table').addEventListener('click', e => {
if (e.target.matches('.fa.fa-trash'))
e.target.closest('tr').remove()
})
// или так
// document.querySelector('table').addEventListener('click', e =>
// e.target.matches('.fa.fa-trash') ? e.target.closest('tr').remove() : {})
<table class="table">
<tr>
<th>Имя</th>
<th>Фамилия</th>
<th>Удалить</th>
</tr>
<tr>
<td>Иван</td>
<td>Васильевич</td>
<td class="delete"><a href="#"><i class="fa fa-trash">remove</i></a></td>
</tr>
<tr>
<td>Влад</td>
<td>Анатольевич</td>
<td class="delete"><a href="#"><i class="fa fa-trash">remove</i></a></td>
</tr>
</table>
Логика дико простая, мониторя клик по таблице проверяем не нажали ли мы на нужную иконку, если да то удаляем строку
matches
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Не могу понять второй день в чем проблема,начал учится автоматизированию тестов,писал все в одном файле по началу ,взлетало норм,после деструкторизации...
на вход переменная строковая:
Я пытаюсь добавить новую строку в DOMЕсть инпуты Имя и Фамилия, и кнопка Добавить
Доброго времени суток знатоки! У меня есть код на PascalABC, который я пытаюсь перевести на JS, я вроде ка его переделал, но ответы выходят разные,...