zoukankan      html  css  js  c++  java
  • Jquery伪选择器学习笔记

    对于我这个半路出家的前端,使用jquery已经很长时间了,对于选择器,一直都局限在id,class,element选择器。每次写一个元素都得想一个id,一个页面写下来想id名都想的累的慌。最近手头项目比较多,头晕脑胀的,遂决定每天下班回去还是得学学jquery的其它强大选择器,边学边做点笔记吧。

    一、伪选择器

    :first / :last

    匹配找到的第一个/最后一个子元素

    :first-child / :last-child

    匹配第一个/最后一个元素

    笔记:这两组是最先让我分不清的。看着解释好像差别不是很大。但举个例子来看,就会发现大不同了。

    <div id="div1">
            <p id="p1">p1</p>
        </div>
        <div id="div2">second</div>
        <div id="div3">
            <p id="p2">p2</p>
            <p id="p3">p3</p>
            <p id="p4">
                <span id="span1">span1</span>
                <span id="span2">span2</span>
            </p>
        </div>
        <div id="div4">
            <p id="p5">p5</p>
        </div>
        <table>
            <tr><td>1</td></tr>
            <tr><td>2</td></tr>
            <tr><td>3</td></tr>
            <tr><td>4</td></tr>
        </table>
     // A
     $("td:first").css('color','blue');
     $("p:first").css('color','red');
    
     // B
     $("td:first-child").css('color','blue');
     $("p:first-child").css('color','red');
    
    

     结果:A:B:

    为何一个一点的差别,结果确是如此大区别呢?

    jquery手册上解释:

    :first­child 能够匹配第一个子元素,并为每个父元素匹配一个子元素。
    :first只匹配一个元素

    这样的解释也许还不太明白,但是换一种说法就明白多了,:first­child在匹配的时候,先找到它的父元素,然后再把所有父元素的第一个子元素匹配出来,而:first只匹配第一个父元素的第一个子元素。

    p的父元素div,:first­child能匹配上p1,p2,p5,而:first只能匹配上p1

    td的父元素是tr,:first­child能匹配上1,2,3,4,而:first­只能匹配第一个1。

  • 相关阅读:
    Netty事件监听和处理(上)
    Netty事件监听和处理(上)
    Netty事件监听和处理(上)
    nginx 反向代理转发导致css,js,图片失效
    nginx 反向代理转发导致css,js,图片失效
    nginx 反向代理转发导致css,js,图片失效
    【leetcode】507.Perfect Number
    【leetcode】507.Perfect Number
    【leetcode】507.Perfect Number
    Javascript中的类实现
  • 原文地址:https://www.cnblogs.com/wsun/p/4043116.html
Copyright © 2011-2022 走看看