首先貼出來HTML的代碼: 整個頁面的顯示結果為: 請回答從左往右分別點擊按鈕哪幾行會出現背景顏色的變化呢? 點擊第一個: 4,10 點擊第二個: 7,10 點擊第三個: 2,5,10 點擊第四個: 2,6,10 你回答正確了嗎?如果正確可以點擊右上角關閉網頁了. 由此可以看出 A:nth-chil ...
首先貼出來HTML的代碼:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ var btn = $(this).text(); $("p").css("background-color","white"); $("p" + btn).css("background-color","yellow"); }); }); </script> </head> <body> <button>:nth-child(2)</button> <button>:nth-last-child(2)</button> <button>:nth-of-type(2)</button> <button>:nth-last-of-type(2)</button> <h1>body 中的標題</h1> <p>body 中第一個段落。</p> <p>body 中第二個段落。</p> <div style="border:1px solid;"> <span>div 中的 span 元素</span> <p>div 中的第一個段落。</p> <p>div 中的第二個段落。</p> <p>div 中的第三個段落。</p> <p>div 中的第四個段落。</p> <span>div 中的 span 元素</span> </div><br> <div style="border:1px solid;"> <p>另一個 div 中的第一個段落。</p> <p>另一個 div 中的第二個段落。</p> <p>另一個 div 中的最後一個段落。</p> </div> <p>body 中最後一個段落。</p> </body> </html>
整個頁面的顯示結果為:
請回答從左往右分別點擊按鈕哪幾行會出現背景顏色的變化呢?
點擊第一個:
4,10
點擊第二個:
7,10
點擊第三個:
2,5,10
點擊第四個:
2,6,10
你回答正確了嗎?如果正確可以點擊右上角關閉網頁了.
由此可以看出
A:nth-child(B)表示在父元素的第B個元素剛好是A的所有A元素
A:nth-of-type(B) 表示父元素的第B個A元素的所有A元素集合
看出來區別了嗎?nth-of-type實質上在索引時進行了一次篩選,父元素只包含A,所以只要B < A在父元素中的數量就一定有值,而nth-child沒有進行篩選,是父元素中所有元素的第B個,如果是A則取出來, 有可能就取不到.
如果你能理解以上的問題,那麼對eq()的區別也顯而易見了,A:eq(B),選出的所有A中的第B個,跟父元素就沒關係了.