私が読んだブログには、迷惑なコメントが何人かあります。私は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
は、スクリプトが最後まで実行されたかどうかを知るためのものです)
これはほとんど機能します。たとえば、あるテスト ページでは、ユーザーの 1 人による 16 件の投稿のうち 13 件が削除されました。removeChild 行を次のように置き換えてみました。
comment.style.visibility = 'hidden';
それはすべてを取得しているように見えますが、コメントがあったはずの大きな空のスペースを残すことを犠牲にしています.
私は完全なJavaScriptの初心者なので、誰かが私が間違っていることが明らかな何かを見ることができますか?