私はこれに似たレイアウトを持っています:
<li class="item">
<div class="data">
<div class="pics">
<div class="pic"></div>
<div class="pic"></div>
<div class="pic"></div>
<div class="btns">
<div class="btn 1"></div>
<div class="btn 2"></div>
</div>
</div>
</div>
<input type="hidden" value="" name="">
<input type="hidden" value="" name="">
<input type="hidden" value="" name="">
<input type="hidden" value="" name="">
</li>
私がやりたい<li>
のは、ボタンの1つ class="btn"
がクリックされたときからすべての入力要素を取得することです。私がこれにアプローチした方法は、基本的<li>
にボタンの親をつかんで、<input>
要素を選択することです...
var inputs = $($(element).parents('.item')[0]).children('input');
...element
クリックされているボタンの1つはどこですか。
このアプローチは私が望むことをしているようですが、これを行うためのより良い方法はありますか?かなり非効率に思えますが、パフォーマンスに関する指標を確実に把握することはできません。何か考えや提案はありますか?
アップデート
オプションをテストするためにjsPerfにアクセスしました:http://jsperf.com/jq-select。closest()
私が持っているものは、私が推測していなかったものを使用するよりも速いようです。