Firebugの$$()の落とし穴

Firefox 3.5.6 + Firebug 1.4.5。
ユーザーCSSを作るときにパパッとセレクタの対象になる要素を確認できて便利だな、と思っていたら、疑似セレクタが使えないなどdocument.querySelectorAllとは別物のよう。まあそれくらいなら良いけれど、クラスセレクタがいい加減で使えない。
例えば

<!DOCTYPE html>
<title>TEST</title>
<p>p
<p class="s">s
<p class="s1">s1
<p class="foo s2">s2

というページで$$('p.s');を実行すると、[p.s, p.s1, p.foo]の3つが返される。sで始まるクラス名を持つ要素を拾っている。$$('p[class="s"]');なら大丈夫。
Google ChromeJavaScriptコンソールの$$は、単にdocument.querySelectorAllを呼び出している。Firebugはどうしてそうしないんだろう。


//d.hatena.ne.jp/javascripter/20080723/1216822396">Firebugの$$を最新のCSSセレクタに対応させる - 素人がプログラミングを勉強するブログ:Firebugのファイルを書き換えることで希望通りに。