jQueryセレクタ checkedの取得と実行速度
radio checkedの値の取得、処理速度からの最適化
10000回繰り返し、処理時間の計測。
jQuery
// 開始
console.time("$(this).filter(':checked')");
// 10000回実行
for(var i = 0; i < 10000; i++){
// 処理
var element = $(this).filter(':checked');
}
// 値
console.log(element.val());
// 終了
console.timeEnd("$(this).filter(':checked')");
選択されている値を取得
サンプル
セレクタ | 実行速度(10回平均) |
---|---|
$(this).filter(':checked') | 29.404ms |
$('input:checked') | 74.616ms |
$('[type=radio]:checked') | 78.106ms |
$('input[name=animal]:checked') | 78.424ms |
$('[type=radio][name=animal]:checked') | 79.435ms |
$('[name=animal]:checked') | 79.755ms |
$('input[type=radio]:checked') | 80.292ms |
$('input[type=radio][name=animal]:checked') | 86.475ms |
$('input:radio:checked') | 230.066ms |
$('input:radio[name=animal]:checked') | 265.2901ms |
$(':radio:checked') | 387.613ms |
$(':radio[name=animal]:checked') | 409.894ms |
指定された値が選択されているか判定する。
サンプル
セレクタ | 実行速度(10回平均) |
---|---|
$('input[value=cat]') | 74.966ms |
$('[type=radio][value=cat]') | 80.928ms |
$('[name=animal][value=cat]') | 81.421ms |
$('[type=radio][name=animal][value=cat]') | 81.72ms |
$('[value=cat]') | 81.949ms |
$('input[name=animal][value=cat]') | 82.404ms |
$('input[type=radio][name=animal][value=cat]') | 96.138ms |
$('input:radio[name=animal][value=cat]') | 259.132ms |
$(':radio[value=cat]') | 455.306ms |
$(':radio[name=animal][value=cat]') | 456.503ms |
結果一覧はphp.o0o0.jp-jQuery selectorsを参照。