// ==UserScript== // @name 列表关键字屏蔽 // @namespace https://bbs.tampermonkey.net.cn/ // @version 0.1.1 // @description 根据列表中的关键字去屏蔽掉那一项,按理说是可以通用的 // @author You // @match *://*/* // @require https://scriptcat.org/lib/513/1.2.0/ElementGetter.js // @grant unsafeWindow // ==/UserScript== const keywords = ['三相之力']; const $ = new ElementGetter(); function isContainAttr(el1, el2) { const at1 = Object.values(el1.attributes); for (const key in at1) { if (!el2.attributes[key]) { return false; } // 一些特殊属性的判断 switch (el1.attributes[key].name) { case "class": if (el1.attributes[key].value !== el2.attributes[key].value) { return false } } } return true; } // 判断两个元素属性是否相等 function isEqual(el1, el2) { return isContainAttr(el1, el2) && isContainAttr(el2, el1); } function checkList(el) { if (!el) { return undefined; } if (el.nextElementSibling && isEqual(el, el.nextElementSibling)) { return el; } else if (el.previousElementSibling && isEqual(el, el.previousElementSibling)) { return el; } return checkList(el.parentElement); } $.each('a', document, a => { // 判断关键字 for (let index in keywords) { if (a.innerHTML.indexOf(keywords[index]) === -1) { continue; } // 向上查询列表并删除此item const item = checkList(a); if (item) { item.remove(); } }; });