の違いは何ですか
$data.find('select:selected');
と
$data.find('select').find(':selected');
?
仮定$data = $('#data')
;
<div id="data">
<div>
<select multiple>
<option value="foo">foo</option>
</select>
</div>
</div>
の違いは何ですか
$data.find('select:selected');
と
$data.find('select').find(':selected');
?
仮定$data = $('#data')
;
<div id="data">
<div>
<select multiple>
<option value="foo">foo</option>
</select>
</div>
</div>
$data.find('select').find(':selected');
基本的には
$data.find('select :selected');
子孫セレクターselect
(との間のスペース)に注意してください:selected
。これにより、要素内:selected
にあるすべての要素が検索されます。select
一方、最初のセレクターはを検出しますが、これは要素にのみ適用されるselect:selected
ため機能しません。:selected
option
最初のものはすべてのDOMを一度解析してセレクターを取得すると思います。
2番目はdomを解析してセレクターを取得し、取得したdomオブジェクトを解析して2番目のセレクターを見つけます
結果は同じですが、パフォーマンスはそれらの間で変わる可能性がありますか?