-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元素。

另一方面,您的第一个选择器 find select:selected,它不起作用,因为:selected仅适用于option元素

于 2012-05-14T10:12:36.243 回答
0

我猜第一个解析所有 DOM 一次并获取您的选择器。

第二个解析 dom 以获取您的选择器并解析检索到的 dom 对象以找到第二个选择器

结果相同,但它们之间的性能可能会发生变化?

于 2012-05-14T10:14:33.390 回答