隐藏IMDB搜索的div
问题描述:
由于IMDB搜索不能排除特定类型,我想用Tampermonkey或Greasemonkey来隐藏我不感兴趣的那些。隐藏IMDB搜索的div
每部电影是一个名为"lister-item mode-advanced"
一个类中:
里面那就是:
<span class="genre">
Animation, Adventure, Family </span>
看着其他的答案,我想这样的事情可以工作:
// ==UserScript==
// @name NoAnimation
// @namespace NoAnimation
// @version 0.1
// @description try to take over the world!
// @author You
// @include *.imdb.com/search*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
// @grant GM_log
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_addStyle
// @grant GM_openInTab
// @grant GM_xmlhttpRequest
// @grant GM_registerMenuCommand
// ==/UserScript==
$("lister-item mode-advanced") .show()
.has ("span.genre:contains('Animation')")
.hide();
哪些不起作用当然:(
我正在做这个测试akas.imdb.com/search/title?...。
我希望我已经够清楚了。任何人都可以给我建议吗? :)
答
主要的错误是,那不是如何在jQuery选择器中指定类。它应该是$(".lister-item.mode-advanced")
。
但也有其他的问题:使用
- 脆选择。例如
mode-advanced
并不总是存在。不一定总是跨度等。 - 不必要的逻辑(例如
.show()
)。 - 非常过时的jQuery版本。
- 无关和无用的元信息。
下面是解决这些问题的一个完整的脚本:
// ==UserScript==
// @name Hide Animations from IMBD search results
// @match *://*.imdb.com/search*
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
//- The @grant directive is needed to restore the proper sandbox.
$(".lister-item").has (".genre:contains('Animation')").hide();
+1
这完全解决了我的求助要求!谢谢你的时间。 – Daniele
+0
不客气,乐意效劳。 –
欢迎的StackOverflow! 由于类定义缺失和测试数据,它像你的代码片段不正确。请尝试在你的问题上多挖一点,纠正信息 - 这将有助于回答你的问题 –
@StepanNovikov,对于Greasemonkey/Tampermonkey问题,公共目标页面的链接是黄金标准测试数据。 –