jQuery中:first,:first-child,first()的使用區別


ul li:first  先獲取頁面中所有li節點對象數組,然后返回數組中的第一個li節點對象 。

:first-child  選擇器選取屬於其父元素的第一個子元素的所有元素。

first() 返回被選元素的首個元素。

測試代碼如下:

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8">  
<title>Insert title here</title>  
</head>  
<body>  
    <ul>  
        <li>ul_1 item 1</li>  
        <li>ul_1 item 2</li>  
        <li>ul_1 item 3</li>  
        <li>ul_1 item 4</li>  
        <li>ul_1 item 5</li>  
    </ul>  
    <ul>  
        <li>ul_2 item 1</li>  
        <li>ul_2 item 2</li>  
        <li>ul_2 item 3</li>  
        <li>ul_2 item 4</li>  
        <li>ul_2 item 5</li>  
    </ul>  
</body>  
</html>  

先測試 :first,代碼如下

<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>  
<script type="text/javascript">  
    $(function(){  
        $("ul li:first").css("background-color","yellow");  
    })  
</script>  

效果如下; 只有第一個被選中,

測試:first-child,代碼如下

<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>  
<script type="text/javascript">  
    $(function(){  
        $("ul li:first-child").css("background-color","yellow");  
    })  
 </script>  

效果如下:

發現每一個ul的第一個li元素都被選中,

測試first(),代碼如下

<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>  
<script type="text/javascript">  
    $(function(){  
        $("ul li").first().css("background-color","yellow");  
    })  
 </script>  

效果如下:

結果發現只有第一個被選中,

這里發現,:first選中的是第一個ul元素第一個li子元素,然后添加樣式,不論這個元素在本頁面有多少個,它只找第一個

而:first-child選擇的是所有ul下面的第一個子元素是li的元素,有兩個ul父元素,ul_1,ul_2他們都擁有各自的子元素li。

最后是first()它和:first 類似,獲取的第一個ul元素第一個li子元素,不管有多少個本元素

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM