Удалить строку в таблице при изменении стиля другоо объекта по атрибуту
Приветствую вас всемогущие! Помогите пожалуйста сделать следующее:
Имею div с классом print-order-grid ui-sortable, в нем уже имеются div с классом print-order-cell при определенных действиях на странице в этом блоке появляются дополнительные блоки с таким же классом print-order-cell но с атрибутом data-id="11100" (id может быть любым), так вот нужно при каждом добавлении такого блока перезагрузить страницу 1 раз. |
(function wait() { const block = document.querySelector('.print-order-grid.ui-sortable .print-order-cell[data-id]'); if (block) location.reload(); else setTimeout(wait, 100); }()); |
Перезагрузка страницы сработала, но перезагружает он не 1 раз, а зацикливается т.к. после перезагрузки он этот блок (с тем же data-id при появлении которого мы перезагружали страницу) снова воспринимает как вновь добавленный и соответственно перезагружается опять...
причиной тому, то, что после перезагрузки этот блок добавляется добавляется динамически и скрипт воспринимает его, как новый... Вот в том то и проблема у меня... может нужно как то в куки data-id этого блока записать ? или как? |
Нужно. В задаче этого не было.
const previousIds = new Set(JSON.parse(localStorage.previousIds || '[]')); (function wait() { const newIds = Array.from( document.querySelectorAll('.print-order-grid.ui-sortable .print-order-cell[data-id]'), block => block.getAttribute('data-id') ).filter(id => !previousIds.has(id)); if (newIds.length) { localStorage.previousIds = JSON.stringify([...previousIds, ...newIds]); location.reload(); } else { setTimeout(wait, 100); } }()); |
Супер, премного благодарен вам, киньте в ЛС, ваш кошелек юмани - закину вам на бутылочку пива)
|
Часовой пояс GMT +3, время: 15:15. |