我希望创建一个主要用于此页面的书签:http://forum.sectioneighty.com/find-new/528631/posts
它将搜索具有' discussionListItem'类的div。 ' discussionListItem'是一个div的父级,有一个' forumLink'。如果' forumLink'包含字符串"音乐",添加'显示:无'到其父级' discussionListItem'。
到目前为止,我已创建了这个,有效:
javascript:(function(){document.getElementsByClassName('discussionListItem')[0].style.setProperty('display', 'none', 'important');})();
它隐藏了第一个具有' discussionListItem'类的div。
在此基础上我写了这个:
javascript:(function(){$(".discussionListItem .forumLink a:contains('Music')").closest(".discussionListItem").css("display" , "none");});();
这是我完成初始请求的时间,但它无法正常工作。我在Javascript / jQuery中表现不佳,所以我确定有一些我不知道的东西。我将此代码基于我在此处找到的答案:If a div contains a specific string of text, edit the parent's css
此外,如果有任何简单的方法,我希望它能够搜索多个字符串...所以如果.forumList包含' Music' OR'体育'或者' Life',它会将其父级的div更改为display:none。
谢谢!
答案 0 :(得分:0)
我不认为jQuery会在书签的范围内。 This site会将您的代码转换为支持jQuery的书签。你的代码看起来像这样:
(function(){
var searchArray = ["Music", "Sports", "Life"];
for(var searchIndex in searchArray)
$(".discussionListItem:contains("+searchArray[searchIndex]+")").css({"display":"none"});
})();
我可以从控制台运行它,但是如果你遇到麻烦,请尝试使用bookmarklet / jQuery转换器。
或者,你可以用纯javascript写它,它应该看起来非常相似。你应该能够将这个作为书签运行而不需要任何转换。
(function() {
var searchArray = ["Music", "Sports", "Life"];
var elements = Array.prototype.slice.call(document.body.querySelectorAll(".discussionListItem"));
for(var searchIndex in searchArray)
for(var elIndex in elements)
if(elements[elIndex].innerHTML.indexOf(searchArray[searchIndex])>=0)
elements[elIndex].style.display = "none";
})();
答案 1 :(得分:0)
$('.discussionListItem .forumLink:contains("Music")').parents('.discussionListItem').hide()