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

Как сравнить 2 списка по data и по клику при совпадении удалять li которые совпадают?

Мне нужно сравнивать data, и проходится по списку через each или сравнивать 2 массива?
Клик можно делать как по первому списку так и по второму.
Код
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const key = 'number';
const attr = `data-${key}`;
const attrSelector = `[${attr}]`;

document.addEventListener('click', e => {
  const value = e.target.closest(attrSelector)?.dataset[key];
  if (value) {
    document.querySelectorAll(`[${attr}="${value}"]`).forEach(n => n.remove());
  }
});

// или

const elems = [...document.querySelectorAll(attrSelector)];
const onClick = ({ currentTarget: { attributes: { [attr]: { value } } } }) =>
  elems.length -= elems.reduce((acc, n, i, a) => (
    a[i - acc] = n,
    acc + (n.getAttribute(attr) === value && !n.replaceWith())
  ), 0);

elems.forEach(n => n.addEventListener('click', onClick));
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
По клику получать элемент, его значение, его родительский список.
Определить второй список. В нём найти элемент с таким же значением:

Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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