jQueryセレクタ selectedの取得と実行速度

select selectedの値の取得、処理速度からの最適化

10000回繰り返し、処理時間の計測。

jQuery

// 開始 console.time("$('option:selected', this)"); // 10000回実行 for(var i = 0; i < 10000; i++){ // 処理 var element = $('option:selected', this); } // 値 console.log(element.val()); // 終了 console.timeEnd("$('option:selected', this)");

選択されている値を取得する。

サンプル

セレクタ 実行速度(10回平均)
$(this).children(':selected')68.723ms
$(this).children('option:selected')82.966ms
$('option:selected')202.638ms
$('#fruits :selected')225.628ms
$(this).find(':selected')246.597ms
$('#fruits option:selected')253.76ms
$('[name=fruits] option:selected')256.347ms
$(this).find('option:selected')263.084ms
$('select[name=fruits] option:selected')272.134ms
$(':selected', this)288.376ms
$('option:selected', this)307.609ms
$(':selected')657.791ms
$('[name=fruits] :selected')732.522ms
$('select[name=fruits] :selected')749.835ms

指定された値が選択されているか判定する。

サンプル

セレクタ 実行速度(10回平均)
$('option[value=apple]')75.457ms
$('[name=fruits] option[value=apple]')76.758ms
$('select[name=fruits] option[value=apple]')77.204ms
$('[value=apple]')77.76ms
$('select option[value=apple]')78.402ms
$('select[name=fruits] [value=apple]')79.634ms
$('select [value=apple]')79.72ms
$('[name=fruits] [value=apple]')80.219ms
$('#fruits [value=apple]')80.65ms
$('#fruits option[value=apple]')94.349ms

結果一覧はphp.o0o0.jp-jQuery selectorsを参照。

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。主にLAPP環境でPHPを書いています。最近はjQueryで遊んでいます。
※動作確認について