有什么区别
$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
元素。
另一方面,您的第一个选择器 find select:selected
,它不起作用,因为:selected
仅适用于option
元素。
我猜第一个解析所有 DOM 一次并获取您的选择器。
第二个解析 dom 以获取您的选择器并解析检索到的 dom 对象以找到第二个选择器
结果相同,但它们之间的性能可能会发生变化?