Почему при использовании селектора "div:has-text(текст)" в ublock скрывается все содержимое страницы, а не только конкретный div?

Как скрыть только "нижний" div, содержащий повторяющийся текст, сохраняя структуру страницы с последовательностью div или section и подписями, которые генерируются на лету?
  • 7 ноября 2023 г. 16:49
Ответы на вопрос 1
Селектор `div:has-text(текст)` применяется для выбора всех `<div>`, которые содержат указанный текст. Когда вы используете его в ublock, он скрывает все содержимое страницы, потому что ublock скрывает все элементы, соответствующие селектору.

Если вы хотите скрыть только конкретный "нижний" `div`, содержащий повторяющийся текст, сохраняя структуру страницы с последовательностью `div` или `section` и подписями, которые генерируются на лету, у вас есть несколько вариантов.

1. Использование уникальных классов или идентификаторов: Если у "нижнего" `div` есть уникальный класс или идентификатор, вы можете использовать его для выбора только этого `div` в ublock и применения к нему правила скрытия. Например, если у "нижнего" `div` есть класс "bottom-div", вы можете использовать селектор `.bottom-div` или `#bottom-div` вместо `div:has-text(текст)`, чтобы скрыть только этот `div`.

2. Использование расширенных CSS-селекторов: Если у "нижнего" `div` нет уникального класса или идентификатора, но у него есть другие элементы или атрибуты, которые являются уникальными и помогут идентифицировать его, вы можете использовать более расширенные CSS-селекторы для его выбора. Например, вы можете использовать комбинированный селектор типа "ребенок-предок" (`>`), чтобы выбрать `div`, содержащий повторяющийся текст, но только если он находится внутри определенного `section`.

3. Использование JavaScript: Если вам нужно применить более сложную логику для скрытия "нижнего" `div`, вы можете использовать JavaScript. Например, вы можете написать пользовательский скрипт, который сканирует содержимое страницы, исключает ненужные `div` и скрывает только "нижний" `div`. В ublock вы можете использовать пользовательские скрипты с помощью функций `document.querySelectorAll()` и `element.style.display = "none"` для скрытия элементов.

Обратите внимание, что убедитесь, что правильно используете синтаксис и правила скрытия контента в ublock, чтобы избежать нежелательного скрытия других элементов на странице.
Похожие вопросы