jquery选择器 :first与:first-child区别
一个例子:
<ul>
<li>John</li>
<li>Karl</li>
<li>Brandon</li>
</ul>
<ul>
<li>Glen</li>
<li>Tane</li>
<li>Ralph</li>
</ul>
first表示(所有父元素合并后的)第一个;first-child表示(每个父元素的)第一个
$('ul li:first') 返回john所在的li。 查找所有ul下第一个li元素
$("ul li:first-child") 返回 john glen。 查找每个ul下第一个元素是li元素dom元素。
扩展用法:$("body *:first")表示body下的第一个孩子元素; $("body *:first-child")表示body下的每一个是第一个孩子元素的元素
另外,css选择器从右往左,如果是这样;
<ul>
<li>John</li>
<li>Karl</li>
<li>Brandon</li>
</ul>
<ul>
<div>DIV</div>
<li>Glen</li>
<li>Tane</li>
<li>Ralph</li>
</ul>
那么$("ul li:first-child") 只返回John. 查找每个的第一个孩子元素,如果是li元素则匹配,否则不匹配.
$('li:first‘)匹配第一个li元素 $("li:first-child")匹配第一个li元素,它是某个元素的第一个孩子元素