@LoveCodeandCoffe

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

<div name="one">
  <ul name="one">
    <li>v</li>

  </ul>
  <ul name="two">
    <li>two</li>
  </ul>
</div>

Нужно удалить тег ul и его содержимое, если name ul не совпадает с name div.
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
document.querySelectorAll('div[name] ul[name]').forEach(n => {
  if (n.getAttribute('name') !== n.closest('div[name]').getAttribute('name')) {
    n.remove();
  }
});

или

for (const n of document.querySelectorAll('div[name]')) {
  for (const m of n.querySelectorAll(`ul:not([name="${n.attributes.name.value}"])`)) {
    m.parentNode.removeChild(m);
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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