Пользовательский скрипт для удаления элементов с querySelectorAll не удается - почему?

Цель состоит в том, чтобы удалить (не скрыть) все элементы HTML на основе соответствия их имени или класса с помощью пользовательского скрипта. Вот часть пользовательского сценария, о котором идет речь. Это не удаляет элементы. Что должно быть изменено?

// ==UserScript==
// @name        Clean Giveaway sites
// @version     1.0
// @namespace   namespace
// @description Remove junk from giveaway sites
// @include     http://udemy.com/*
// @include     http://udemyar.com/*
// @include     http://www.udemy.com/*
// @include     http://www.udemyar.com/*
// @include     https://udemy.com/*
// @include     https://udemyar.com/*
// @include     https://www.udemy.com/*
// @include     https://www.udemyar.com/*
// @grant       none
// ==/UserScript==

var killit = document.querySelectorAll('c_header__left');
if (killit[0]) {
  killit[0].parentNode.removeChild(killit[0]);
}


var killit = document.querySelectorAll('c_header__right');
if (killit[0]) {
  killit[0].parentNode.removeChild(killit[0]);
}


var killit = document.querySelectorAll('more-from-instructor ud-react-loader ud-component--more-courses-by-instructor--app ud-react-loaded');
if (killit[0]) {
  killit[0].parentNode.removeChild(killit[0]);
}

1 ответ

Вы ищете теги? Потому что это то, что вы спрашиваете querySelectorAll чтобы получить. В основном, если у вас есть <c_header__left>...</c_header__left> в вашем коде, querySelectorAll('c_header__left') должен найти это.

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

Строка, которую вы передаете querySelector а также querySelectorAll имеет тот же синтаксис для поиска элементов, что и CSS

Больше ясности

Пытаться

var killit = document.querySelectorAll('.c_header__left');
Другие вопросы по тегам