Пользовательский скрипт для удаления элементов с 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');