在 IMDB 搜索中隐藏 div
Hiding a div on IMDB search
由于 IMDB 搜索无法排除特定类型,我想使用 Tampermonkey 或 Greasemonkey 隐藏我不感兴趣的类型。
每部电影都在一个名为 "lister-item mode-advanced"
:
的 class 中
里面是:
<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 选择器中指定 class。应该是 $(".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 ();
由于 IMDB 搜索无法排除特定类型,我想使用 Tampermonkey 或 Greasemonkey 隐藏我不感兴趣的类型。
每部电影都在一个名为 "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 选择器中指定 class。应该是 $(".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 ();