Как с помощью Violentmonkey удалить элементы со страницы содержащих определенных текст
с js не дружу, но надо со страницы удалить элементы с попомщью Violentmonkey, есть примерно такая страница:
<html>
<head></head>
<body>
<div class="content-area">
<div class="shorts">
<div class="item">
<div class="desc">
<p class="name">Это удалить</p>
</div>
</div>
</div>
<div class="item">
<div class="desc">
<p class="name">Это оставить</p>
</div>
</div>
</div>
<div class="item">
<div class="desc">
<p class="name">И это удалить</p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Как полностью удалить divы содержащие текст "Это удалить" и "И это удалить"? Гугление не помогло, то, что нашел не удалось применить в данном примере
Ответы (1 шт):
Автор решения: pyduti
→ Ссылка
Возможное решение вашего вопроса.
document.querySelectorAll('.name').forEach(el => {
if (el.textContent.toLowerCase().indexOf('это удалить') >= 0 || el.textContent.toLowerCase().indexOf('и это удалить') >= 0) {
for (item of el.childNodes) {
if(item.nodeName === '#text') {
item.textContent = '';
}
}
}
})
<div class="content-area">
<div class="shorts">
<div class="item">
<div class="desc">
<p class="name"><span class="add">100</span><span class="to">some</span>это удалить<span class="add">100</span><span class="to">some</span></p>
</div>
</div>
<div class="item">
<div class="desc">
<p class="name">Это оставить<span class="add">100</span><span class="to">some</span></p>
</div>
</div>
<div class="item">
<div class="desc">
<p class="name">И это удалить<span class="add">100</span><span class="to">some</span></p>
</div>
</div>
</div>
</div>