-2

の違いは何ですか

$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>
4

2 に答える 2

7
$data.find('select').find(':selected');

基本的には

$data.find('select :selected');

子孫セレクターselect(との間のスペース)に注意してください:selected。これにより、要素:selectedにあるすべての要素が検索されます。select

一方、最初のセレクターはを検出しますが、これは要素にのみ適用されるselect:selectedため機能しません。:selectedoption

于 2012-05-14T10:12:36.243 に答える
0

最初のものはすべてのDOMを一度解析してセレクターを取得すると思います。

2番目はdomを解析してセレクターを取得し、取得したdomオブジェクトを解析して2番目のセレクターを見つけます

結果は同じですが、パフォーマンスはそれらの間で変わる可能性がありますか?

于 2012-05-14T10:14:33.390 に答える