我读过的博客有一些讨厌的评论者。我以为我会试着用Greasemonkey来关闭它们。用Greasemonkey删除列表元素
的HTML的基本结构很简单 - 评论看起来是这样的:
<li>
<cite>user name ...</cite>
comment text
</li>
所以考虑到这一点,我撞坏我的头靠在键盘一段时间,直到这退学:
var killlist = /user1|user2/;
var comments = document.getElementsByTagName('li');
if (comments.length) {
for (var i = 0; i < comments.length; i ++) {
var comment = comments[i];
var cites = comment.getElementsByTagName('cite');
if (cites.length) {
var cite = cites[0];
var title = cite.textContent;
if (killlist.test(title)) {
comment.parentNode.removeChild(comment);
}
}
}
}
window.alert('Done!')
(该window.alert
只是让我知道,如果脚本运行到完成)
这大多工作。例如在一个测试页面上,它删除了其中一个用户的16个帖子中的13个。我试着用这个代替removeChild之行:
comment.style.visibility = 'hidden';
这似乎得到一切,但留下巨大的空白空间,其中的意见本来的代价。
我是一个完整的JavaScript新手,所以任何人都可以看到任何明显的我做错了吗?
我想知道如果这可能是一个问题,所以我尝试做一个数组来评论删除,然后删除frrom它,但无济于事。但目前看起来很有希望!我会再测试一下,然后再回来。 – 2009-08-14 02:31:45