Полностью удалить элемент / тег из DOM с помощью JS или jQuery? - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь удалить пустые теги H1 из среды FE с помощью JS.После его удаления боты и сканеры все еще видят эти теги = они по-прежнему видны через Page Source, узлы DOM загружаются и т. Д.

Есть ли способ полностью удалить элемент изDOM?

Мой HTML это:

<a href="/link"><img src="banner.jpg" title="Title" />
  <h1 class="nivo-h1-title">
    <span></span>
  </h1>
</a>

Сначала я попробовал метод jQuery:

$( document ).ready(function() {
    $( ".nivo-h1-title" ).remove();
});

Таким образом, элементы удаляются из окончательного HTML, но все ещеприсутствует, когда вы просматриваете страницу через Page Source, а роботы / краулеры все еще видят их.Я много исследовал и попробовал чистый метод Javascript, используя код по этой ссылке Удалите все дочерние элементы узла DOM в JavaScript - removeChild with parentNode:

var elements = document.getElementsByClassName('nivo-h1-title');
while(elements.length > 0){
        elements[0].parentNode.removeChild(elements[0]);
}

Но, увы, элементы htmlвсе еще в DOM = все еще можно увидеть через Page Source.

Я уже проверил это Полностью удалите тег из источника и другие, но IS есть способчтобы сделать это - полностью удалить элементы из источника?

1 Ответ

0 голосов
/ 30 января 2019

JavaScript выполняется после , когда начальная страница передается клиенту.Обойти это невозможно.Вы должны переместить эту логику с клиентского JavaScript на серверный язык, например, PHP.Таким образом, он будет удален до обслуживания страницы.

В найденной теме уже есть правильный ответ :

Этоэто просто, как "просмотр источника" работает в браузерах.Он показывает вам, что пришло с сервера (и обычно повторно запрашивает его с сервера [который может читать его из кэша]), а не то, что в данный момент находится на странице.

Чтобы увидеть, что в данный момент находится на странице,вам нужно использовать вкладку «Элементы» или «DOM» в инструментах разработчика вашего браузера (обычно открываются с помощью F12 или Ctrl + Shift + I).Обычно вы можете открыть его и перейти к определенному элементу, щелкнув правой кнопкой мыши по этому элементу на своей странице и выбрав «Проверить элемент», поэтому, если вы сделаете это с вашей формой после своего $ ('. De'). Remove ();запускается, вы увидите форму без элементов .de в ней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...