这是我要删除的HTML结构(从twitch.tv中提取的代码)
<div class="stream item" style="width: 300px;">
<div class="thumb js-var-height" style="height: 148px;">
<a href="/nicegametv" data-bindattr-491="491" data-ember-action="492" class="cap" data-channel-link="data-channel-link">
<img src="http://static-cdn.jtvnw.net/previews-ttv/live_user_nicegametv-320x200.jpg" data-bindattr-493="493">
</a>
<script id="metamorph-360-start" type="text/x-placeholder"></script><a original-title="League of Legends" href="/directory/game/League%20of%20Legends" data-href="/directory/game/League%20of%20Legends" data-bindattr-494="494" data-ember-action="495" class="boxart">
<img src="http://static-cdn.jtvnw.net/ttv-boxart/League%20of%20Legends-138x190.jpg" data-placeholder="http://static-cdn.jtvnw.net/ttv-boxart/League%20of%20Legends-138x190.jpg" data-bindattr-496="496">
</a><script id="metamorph-360-end" type="text/x-placeholder"></script>
</div>
<div class="meta">
<p class="title">
<script id="metamorph-361-start" type="text/x-placeholder"></script><a href="/nicegametv" title="SKT T1 K vs Najin sword NLB Final" data-bindattr-497="497" data-ember-action="498" data-channel-link="data-channel-link">
<script id="metamorph-362-start" type="text/x-placeholder"></script>SKT T1 K vs Najin sword NLB Final<script id="metamorph-362-end" type="text/x-placeholder"></script>
</a><script id="metamorph-361-end" type="text/x-placeholder"></script>
<script id="metamorph-363-start" type="text/x-placeholder"></script><script id="metamorph-363-end" type="text/x-placeholder"></script>
</p>
<p class="info">
<script id="metamorph-364-start" type="text/x-placeholder"></script>56,951<script id="metamorph-364-end" type="text/x-placeholder"></script>
viewers on
<a href="/nicegametv/profile" data-bindattr-499="499" data-ember-action="500">
<script id="metamorph-365-start" type="text/x-placeholder"></script>nicegametv<script id="metamorph-365-end" type="text/x-placeholder"></script>
</a>
</p>
</div>
</div>
这是我用来做它的油脂猴代码
var killIt=["Hearthstone: Heroes of Warcraft", "League of Legends", "Minecraft"];
var el = document.getElementsByClassName("boxart");
//runthrough elements killing certain ones
for (i = 0; i < el.length; i++)
{
for (j=0;j<killIt.length; j++)
{
if (el[i].getAttribute("original-title")==killIt[j])
{
var ely=el[i].parentNode;
ely.parentNode.removeChild(ely);
}
}
}
}
我尝试将其制作成普通的HTML文件并使用Firefox运行,一切正常。然而,当我试图在抽搐时实际执行它时它根本不起作用。
我想我不知道关于油脂的事情。
答案 0 :(得分:-1)
我稍微修改了你的代码,并加入了这个:
window.onload=function(){
var killIt=["http://www.twitch.tv/directory/game/Minecraft", "http://www.twitch.tv/directory/game/League%20of%20Legends", "http://www.twitch.tv/directory/game/Hearthstone%3A%20Heroes%20of%20Warcraft"];
var el = document.getElementsByClassName("boxart");
for (i = 0; i < el.length; i++)
{
for (j=0;j<killIt.length; j++)
{
if (el[i].parentNode.href==killIt[j])
{
el[i].parentNode.parentNode.parentNode.remove();
}
}
}
};
我添加了window.onload
函数,因为Greasemonkey和Tampermonkey在HTML完全加载之前有执行代码的倾向。
我很难找到你的original-title
属性,并决定转而使用href
,这总是存在(我也将killIt
数组中的值更改为href)。 / p>
最后,我这样做是为了删除页面上整个游戏项目的节点(而不仅仅是boxart),如果这是你想要的?