Noob问题。
这是我目前的剧本:
// ==UserScript==
// @name hide-unwanted-element
// @include https:///*
// @description Hides elements I don't want to see in the search result
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
$("h5:contains('Animation Série')").remove();
$("h5:contains('Animation')").remove();
$("h5:contains('Concert')").remove();
$("h5:contains('Documentaire')").remove();
$("div[category-id='2178']").remove();
$("div[category-id='2179']").remove();
$("div[category-id='2180']").remove();
$("div[category-id='2181']").remove();
$(".v3").remove();
我想隐藏很多包含不同标题的h5,有没有办法优化语法?
此外,我想隐藏具有类别ID的div,从2158到2181,增量为1,但不是2160,2173,2175。同样,我觉得有更好的做法,而不仅仅是列出一个一个,做到了吗?
非常感谢!
答案 0 :(得分:0)
用于检查多个值的包含:
https://stackoverflow.com/a/23248911/2079345
我找不到在某个范围内选择ID的欺骗(也许其他人可以?)
您可以使用jquery filter来执行此操作。选择所有div,然后通过检查ID是否在2个数字之间来过滤ID,并且它不是您的3个不良数字之一(Array.some
可以帮助那里)
var divsInRange=$('div').filter(function() {
var id = $(this).attr('id');
return id >= 2158 && id <= 2181 && !([2160, 2173, 2175].some(function(el) {
return id == el;
}));
});
divsInRange.remove();