Wie zu verwenden greasemonkey selektiv entfernen von Inhalten aus einer website
Den Inhalt, den ich versuche zu ändern, hat eine Reihe von <div>
Einträge, und in jedem davon sind andere <div>
Einträge. Es gibt keine id
tags, hier zu helfen. Was ich will, das script zu tun ist, untersuchen Sie die Inhalte von jedem dieser <div>
Einträge und suchen für einige text. Dies wird verwendet, um zu bestimmen, ob die ganze " Eintrag gelöscht/versteckt oder nicht. Ist das möglich? Wie?
Unten ist ein Beispiel. Es gibt mehrere von diesen in die Seite, und ich will die löschen/verstecken die, wo der text innerhalb der <div class="foo bar">
tags sagen "ja". So in diesem Beispiel, diese ganze Sache würde gelöscht/ausgeblendet.
<div class="entry">
<div class="fooPhoto"><a href="Addfoo.jsp?tid=954102"><img class="person" src="http://static.barfoo.com/images/site/icons/dude.png" border="0" width="24" height="24" onerror="this.src='images/site/icons/dude.png'" title="Photo Unavailable" alt="Photo Unavailable" ></a></div>
<div class="fooAvg">4.7</div>
<div class="foo bar">Yes</div>
<div class="fooShare">
<a class="shareEmail" href="referral.jsp?sid=882&tid=954102&pgid=3">Share using email</a>
</div>
</div><!-- closes entry -->
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für Fragen wie diese, die einen link auf die Zielseite. Oder, wenn das wirklich nicht möglich ist, speichern Sie die Seite pastebin.com und link dazu.
Sowieso, die Allgemeinen Antwort auf Ihre Frage ist nicht allzu schwer, mit der jQuery contains () - Selektor. So etwas wie dies funktionieren wird:
Update für die neu geklärte Frage/code:
In Ihrem konkreten Beispiel, verwenden Sie diese:
Update für die Seite angegeben, die in den Kommentaren:
Beachten Sie, dass es gibt keine Notwendigkeit, um nach text zu suchen, weil der Standort günstig gibt den Schlüssel div eine Klasse
isHot
odernotHot
.Schließlich für die dynamische (AJAX-driven) Seiten,
verwenden
MutationObserver
oderwaitForKeyElements
. (WaitForKeyElements funktioniert auch auf statischen Seiten.)Hier ist das Skript umgeschrieben, um AJAX bewusst:
var badDivs = $("div.entry div.foo:contains('Yes')");
(alles in einer Zeile)a href
in diesem code?var badDivs = $("div.entry a.href:contains('something')");
scheint nicht zu funktionieren. Ich bin welche auf diese Seite: programy.sms.cz/kina/praha und speziell<div class="P_podnadpis">
und Texte ina
Elemente dieser clasees. (d.h. entfernen Sie Zeilen mit "Kino Cinema City Letňany", zum Beispiel).var badDiv = $("div.P_podnadpis h2:contains(" + badCinemas[i] + ")"
arbeitete für meine Website, keine Notwendigkeit zu Chaos mit dema
tag).