Я пишу расширение chrome, и я хотел бы, чтобы оно скрыло все элементы на странице, которые упоминают определенные c элементы текста. Самое близкое, что я получил, это:
let strs = document.querySelectorAll("a, p, h1, h2, h3, h4, h5, span")
for (var i = 0; i < strs.length; ++i){
el = strs[i]
str = el.innerHTML
if (str.match(/text2|text3|text1\-19/gi)){
//do something
}
}
Однако, он не захватывает каждый элемент на странице с соответствующим текстом. При взгляде на предметы он не хватает; обычно это div с прямым> "text <текстовым содержимым. Однако, если я добавлю 'div' к селекторам выше, это не сработает, так как я думаю, что он захватывает самый родительский div; по сути, всю страницу. Возможно, мне удастся обойти это, схватив самый детский элемент в самом нижнем конце области с помощью прямого текста, но я не могу понять, как это сделать. Кто-нибудь сталкивался с этим? Я видел некоторые другие решения по переполнению стека для подобных проблем, но я не мог заставить их работать в моем коде. </p>
Любая помощь была бы великолепна, спасибо!