一个例子:
<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元素,它是某个元素的第一个孩子元素