<html>
jQueryでルートドキュメントノード(要素)を取得するための(パフォーマンス面での)最良の方法はどれですか?私はうまくいくかもしれないし、うまくいかないかもしれないいくつかの方法を考えることができます:
$("html")
$(document.documentElement)
$(document)
(?)
$.root
(?)
$.document
(?)
<html>
jQueryでルートドキュメントノード(要素)を取得するための(パフォーマンス面での)最良の方法はどれですか?私はうまくいくかもしれないし、うまくいかないかもしれないいくつかの方法を考えることができます:
$("html")
$(document.documentElement)
$(document)
(?)
$.root
(?)
$.document
(?)
$(document.documentElement)
かなりの差で、最速です(ここのテストを参照)。
jQueryソースコードを調べることで、これが当てはまる理由についてより多くの洞察を得ることができます(init
関数、特にDOM要素を処理する部分と文字列を処理する部分を見てください)。
これらは実際にはそれほど異なるとは思いませんが$("html")
、最も読みやすく、したがって論理的なオプションのようです。
Addy Osmaniによるとid
、element
セレクターが最速です。
http://addyosmani.com/jqprovenperformance/
スライド21と25を参照してください。
だから私は言う$("html")
jsperf.comで独自のテストを実行できることを@AlienWebguyに同意します。