:first与:first-child的区别

1.$(:first).css()表示全局或局部全局的第一个,也就是表示单个元素

2.$(:first-child).css表示该元素上一级父级元素,的同类元素下的该元素,表示的同一个元素

举一个简单里子测试吧:

    <script>
        $(function(){
            $(‘ul li:first‘).css(‘background‘,‘gray‘)
        })
    </script>
    <body>
        <div class="list">
            <ul>
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
            </ul>
            <ul>
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
            </ul>
        </div>

显示效果:

如果该为first-child测试,代码和效果如下:

            $(‘ul li:first-child‘).css(‘background‘,‘gray‘);

另外在遍历中有first(),没有first-child

时间: 2024-10-12 21:51:54

:first与:first-child的区别的相关文章

jQuery笔记(一)jQuery选择器

一.前言 编写任何javascript程序我们要首先获得对象, jQuery选择器能彻底改变我们平时获取对象的方式, 可以获取几乎任何语意的对象, 比如"拥有title属性并且值中包含test的<a>元素", 完成这些工作只需要编写一个jQuery选择器字符串. 学习jQuery选择器是学习jQuery最重要的一步. 二.Dom对象与jQuery对象的转换 (1) Dom转jQuery包装集 ($(Dom)) 如果要使用jQuery提供的函数,  就要首先构造jQuery包

python Parent.__init()和super(Child, self)的区别

super函数做的事情 def supper(cls, inst): mro = inst.__class__.mro() return mro[mro.index(cls) + 1] inst生成父类的列表 从列表中找到cls的索引,然后返回其下一个索引 假设 mro = [a,b,c] cls = b 那么cls的索引为1 返回的是其下一个索引也就是mro[2]即c mro 全程是Method Resolution Order 方法返回的是inst的所有的父类, 顺序是 假设a是基类,b,c

【Linux】多进程与多线程之间的区别

http://blog.csdn.net/byrsongqq/article/details/6339240 网络编程中设计并发服务器,使用多进程与多线程 ,请问有什么区别?  答案一: 1,进程:子进程是父进程的复制品.子进程获得父进程数据空间.堆和栈的复制品. 2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列. 两者都可以提高程序的并发度,提高程序运行效率和响应时间. 线程和进程在使用上各有优缺点:线程执行开

no-proxy 和proxy 的区别

Child   <-   many-to-one   ->Parent         class   Child   {         private   Parent   parent;             public   Parent   getParent   (){             return   this.parent;//访问了实例变量         }             }         class   Parent   {         priv

MVC与WebForm的区别

在初步了解MVC后,发现很多人对于MVC和三层架构开发概念上会有很大的混淆,所以把这两天的学习笔记整理一下,分享给自己的同学们.同时也做一个小Demo,让没有接触过MVC开发的同学,能对MVC有一个简单的了解. 一,MVC和三层架构的区别 ①什么是三层架构? 在学校的时候,和同学或者老师一起讨论MVC的时候,别人可能会说,“不就是三层架构嘛!实体层(Model),用来创建对象的实体:业务逻辑层(BLL),用来处理复杂的数据间的关系或者是业务间的关系:数据库访问层(DAL),用来用来访问数据库的:

MYSQL INNODB主键使用varchar和int有什么区别?

本文和大家分享的主要是MYSQL 数据库主键使用varchar和int的区别,一起来看看吧,希望对大家学习mysql有所帮助. 我现在总结的3个问题: 1.tablespace中空间浪费 当然我们知道使用varchar可能会导致辅助索引比较大,因为用到varchar可能存储的字符较多,同时 在行头也存在一个可变字段字符区域(1-2)字节 而辅助索引叶子结点毕竟都存储了主键值,这样至少会多varchar数据字节数量+1(或者2) 字节- 4(int)字节空间. 如果辅助索引比较多空间浪费是可想而知

CSS的子选择器与后代选择器的区别

子选择器 还有一个比较有用的选择器子选择器,即大于符号(>),用于选择指定标签元素的第一代子元素.如右侧代码编辑器中的代码: .food>li{border:1px solid red;} 这行代码会使class名为food下的子元素li(水果.蔬菜)加入红色实线边框. <style type="text/css"> .food>li{border:1px solid red;}/*添加边框样式(粗细为1px, 颜色为红色的实线)*/ </style

java基础疑难点总结之成员变量的继承,方法重载与重写的区别,多态与动态绑定

1.成员变量的继承 1.1要点 子类用extends关键字继承父类.子类中可以提供新的方法覆盖父类中的方法.子类中的方法不能直接访问父类中的私有域,子类可以用super关键字调用父类中的方法.在子类中可以增加域,增加方法或者覆盖超类的方法,然而绝对不能删除继承的任何域和方法. 在一个子类被创建的时候,首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来形成一个子类的对象.所以所谓的继承使子类拥有父类所有的属性和方法其实可以这样理解,子类对象确实拥有父类对象中所有的属性

bug_ _fragment_“The specified child already has a parent. You must call removeView"的解决以及产生的原因

这个异常的出现往往是因为非法使用了某些方法引起的. 从字面意思上是说这个特定的child已经有一个parent了,你必须在这个parent中首先调用removeView()方法,才能继续你的内容.这里很明显这个child是一个View,一个子(child)View必须依赖于父(parent)View,如果你要使用这个child,则必须通过parent,而你如果就是硬想使用这个child,那么就得让这个child与parent脱离父子关系(即removeView()) 何时会出现这种异常呢,典型的

line-height1.5和line-height:150%的区别

一.区别 区别体现在子元素继承时,如下: 父元素设置line-height:1.5会直接继承给子元素,子元素根据自己的font-size再去计算子元素自己的line-height. 父元素设置line-height:150%是计算好了line-height值,然后把这个计算值给子元素继承,子元素继承拿到的就是最终的值了.此时子元素设置font-size就对其line-height无影响了. 二.举例 比如父元素设置属性:font- size:14px;line-height:1.5,child设