XPath でドキュメント順に複数の要素とってくる
たとえば getElementsByTagName だと、"*" わたして自分で配列つくってやるか、それぞれに要素名を渡したあとにドキュメント順にソートしたりしなくちゃいけないけど、XPath のときはそういうのする必要がない。
$X("//body | //html | //link ")
//=> [html, link, link, link, link, link, link, body]パイプ演算子はオペランドにノード集合をとる。どうでもいいけどパイプとバイブは似てる。
でも true / false をオペランドにしてもエラーがでない。"//html | false" は html をかえすし、"//html | true" もかえす。数値や文字列だとだめ。実装依存なのかな。
自分は $X を unsafeWindow にエクスポートしてる。