jQuery id 存在チェックの取得と実行速度
idの存在チェック、処理速度からの最適化
10000回繰り返し、処理時間の計測。
jQuery
// 開始
console.time("document.getElementById('apple'");
var documentGetElementByIdId = '存在しない';
// 10000回実行
for(var i = 0; i < 10000; i++){
// 処理
if (document.getElementById('apple') != null) {
documentGetElementByIdId = '存在する';
}
}
// 値
console.log(documentGetElementByIdId);
// 終了
console.timeEnd("document.getElementById('apple')");
サンプル
対象のIDが存在している場合。
セレクタ | 実行速度(10回平均) |
---|---|
$('#apple')[0] | 8.383ms |
document.getElementById('apple') | 8.582ms |
$('#apple').size() | 8.604ms |
$('#apple').get(0) | 9.11ms |
$('#apple').length>0 | 9.262ms |
$('#apple').length | 18.07ms |
$('#apple').is('*') | 25.108ms |
対象のIDが存在していない場合。
セレクタ | 実行速度(10回平均) |
---|---|
$('#banana')[0] | 8.411ms |
document.getElementById('banana') | 9.563ms |
$('#banana').size() | 5.927ms |
$('#banana').get(0) | 6.698ms |
$('#banana').length>0 | 5.875ms |
$('#banana').length | 8.976ms |
$('#banana').is('*') | 53.693ms |
結果一覧はphp.o0o0.jp-jQuery selectorsを参照。
.size()は1.8から非推奨。