微妙に役割の被っている、document.evaluateとSelectorsAPIを、どう使い分けるかという話。 僕は最近、 タグ名、クラス名、idで一発で取得できる場合は速度のためにgetElements系のものを使う。 XPathでできて、SelectorsAPIでできない時は、XPathを使う。 XPathでもSelectorsAPIでも出来るときは、特別な理由がない限りSelectorsAPIを使う。 のような感じで使い分けている。 クラス名を扱う時はSelectorsAPIを使う。 例えば、はてなキーワードを普通のリンクにするJavaScriptは、XPathを使うと var keywords = document.evaluate("descendant::a[contains(concat(' ',@class,' '),'keyword') or contains(con