実際は消すんじゃなくて半透明にします。適用先は他の人の写真一覧のページ (/photo/username/)
以下スクリプトの説明
実は Set があるときとないときとで構造化の度合いみたいなのが違っててややこしい。具体的には Set がない人の一覧では div.StreamView
一個に対し、一つの写真と写真の情報が含まれる望ましい構造であるのに対し、Set がある人の一覧では、写真一覧が全部 div.StreamView
一個に含まれている。
ということで、Set がある場合とない場合にわけてる。きもいー。
Set がある場合、div.StreamView
以下の要素を一旦構造化する。
DocumentFragment
を作っておく。div.StreamView
以下列挙してループh4
がでてきたら div (class="__GM_Photo") という要素を作る- 他の要素だったら
div.__GM_Photo
にappendChild
(一旦ノードは削除される) - また
h4
がでてきたらDocumentFragment
に突っ込む - ループ終わったら残ってる
div.__GM_Photo
もDocumentFragment
に突っ込む div.StreamView
にDocumentFragment
をappendChild
(戻す)
DocumentFragment
は DOM における無名ノードみたいなもの。名前そのまんまだけど!!!
appenChild
は既に同じドキュメントにあるノードを追加するとき、一旦そのノードを取り除く。すなわち移動したいときはいちいち削除する必要はない。逆にコピーしたいときは cloneNode
する必要がある。
そいでもって、Set がない場合は div.StreamView
のクラス名に __GM_Photo を追加するだけしとく。
あとは、Set のあるなしに関わらず、CC の画像を含んでいない div.__GM_Photo
にアレしてコレした的な何か。