jQuery :first-child 選擇器使用上并不是望文生義的谊惭。
例如空骚,$("p:first-child")
似乎是選取任何一個(gè)<p>標(biāo)簽內(nèi)第一個(gè)子元素叠国。實(shí)際上并不是這樣衩匣。準(zhǔn)確的理解是累驮,選擇任何一個(gè)容器內(nèi)的第一個(gè)p元素酣倾,而且要求p元素是該容器內(nèi)第一個(gè)子元素。
例子一:
<body>
<p>第一段</p>
<p>第二段</p>
</body>
$("p:first-child")
可以命中第一段(也僅有第一段)谤专,因?yàn)榈谝欢问莃ody容器中第一個(gè)p元素,且是body容器中第一個(gè)元素午绳。
例子二:
<body>
<span>別的文字</span>
<p>第一段</p>
<p>第二段</p>
</body>
$("p:first-child")
沒有任何命中置侍,因?yàn)榈谝欢问遣⒎鞘莃ody容器中第一個(gè)元素。
例子三:
<body>
<p>第一段</p>
<div><p>第二段</p></div>
</body>
$("p:first-child")
會(huì)命中第一段和第二段拦焚。記住蜡坊,它會(huì)選擇任何一個(gè)容器內(nèi)的第一個(gè)p元素,只要p元素是該容器內(nèi)第一個(gè)子元素赎败。
例子四:
<body>
<div id="id1"><p>第一段</p></div>
<div id="id2"><p>第二段</p></div>
</body>
我只想命中第二段怎么辦秕衙?那就這樣:
$("#id2 p:first-child")