В чем проблема в моем коде JavaScript - удалить элемент HTML на основе условия (наличие другого элемента) - новичок - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь удалить элемент, если этот элемент содержит другой элемент на https://medium.com/

Извините, все картинки здесь: https://imgur.com/a/uxG3cPz - не было репутации, чтобы вставлять их:)

  1. Средняя домашняя страница - без кода. Ничего не меняется, когда я ввожу свой код .js

  2. Если

    содержит этот элемент, то
    следует удалить
  3. , который следует удалить, если он содержит со значком SVG со звездочкой
  4. Ожидаемый конечный результат (я пока не могу заставить его работать)

Можете ли вы помочь мне?

function removeElement(id) {
    var elem = document.getElementById(id);
    var dad = elem.parentNode.parentNode.prentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
    dad.removeChild(dad.firstChild);
}

function destroyLoop() {
    var i = O;
    while (i < 100) {
        removeElement("svgIcon svgIcon--star svgIcon--15px");
        i++;
    }
}



destroyLoop();

Я ожидаю, что код действительно удалит элемент, но, похоже, ничего не происходит

Миллион благодарностей

1 Ответ

0 голосов
/ 30 мая 2019

Вы передаете имя класса как идентификатор здесь.Используйте этот кусок кода.Это получит первый элемент класса и удалит его.

function removeElement(id) {
    var elem = document.getElementsByClassName(id)[0].closest("article");
    var dad = elem.parentNode;
    dad.removeChild(elem);
}


function destroyLoop() {
    var i = 0;
    while (i < 100) {
        removeElement("svgIcon svgIcon--star svgIcon--15px");
        i++;
    }
}



destroyLoop();
...