ノードの取得はCSSのセレクタとは勝手が違う

考えてみれば当たり前なんだけど、CSSjQueryに慣れていたので、最初は戸惑ってしまった。
この前のエントリの続きで、ニコニコ動画のページ下のアフロのおっさん(ページの先頭にスクロールしてくれる人)が無駄に動いてウザかったので(マウスジェスチャもあるし)消しちゃおうってことで…
まず、CSSっぽく

removeNode(document.getElementById('PAGEFOOTER').firstChild);

ってしたけどダメ。この値を調べてみると

[object XPCNativeWrapper [object Text]]

だそうで。は?テキストなんてなくね?と思ってソースを見てみると

<div id="PAGEFOOTER" style="text-align:center;">
                          }ここに注目
<div style="padding:4px;">

そうです。改行もテキストノードなんです!っていう他愛もない話。
つまり、こうすればおk。

removeNode(document.getElementById('PAGEFOOTER').firstChild.nextSibling);

または、もっとスマートに

removeNode(document.getElementById('PAGEFOOTER').childNodes[1]);

これを付け足す場合は、処理の順序の関係で以下の位置に入れないと、ページによってはおっさんが消えない。

removeNode(document.getElementById('billboard_container'));
                                                      }この間に入れる
var ads1 = document.getElementsByClassName('ads_728');