css选择器中:first-child与:first-of-type的区别
:first-child选择器是css2中定义的选择器,从字面意思上来看也很好理解,就是第一个子元素。比如有段代码:
p:first-child 匹配到的是p元素,因为p元素是div的第一个子元素;
h1:first-child 匹配不到任何元素,因为在这里h1是div的第二个子元素,而不是第一个;
span:first-child 匹配不到任何元素,因为在这里两个span元素都不是div的第一个子元素;
:first-child 匹配到的是p元素,因为在这里div的第一个子元素就是p。
然后,在css3中又定义了:first-of-type这个选择器,这个跟:first-child有什么区别呢?还是看那段代码:
p:first-of-type 匹配到的是p元素,因为p是div的所有为p的子元素中的第一个,事实上这里也只有一个为p的子元素;
h1:first-of-type 匹配到的是h1元素,因为h1是div的所有为h1的子元素中的第一个,事实上这里也只有一个为h1的子元素;
span:first-of-type 匹配到的是第三个子元素span。这里div有两个为span的子元素,匹配到的是第一个。
:first-of-type 匹配到的是p元素
所以,通过以上两个例子可以得出结论:
:first-child 匹配的是某父元素的第一个子元素,可以说是结构上的第一个子元素。
:first-of-type 匹配的是该类型的第一个,类型是指什么呢,就是冒号前面匹配到的东西,比如 p:first-of-type,就是指所有p元素中的第一个。这里不再限制是第一个子元素了,只要是该类型元素的第一个就行了,当然这些元素的范围都是属于同一级的,也就是同辈的。
同样类型的选择器 :last-child 和 :last-of-type、:nth-child(n) 和 :nth-of-type(n) 也可以这样去理解。
相关推荐
关于CSS选择器的读取方向,从右向左理解,`:first-child`的意义更加明确。如果HTML结构像这样: ```html <li>John <li>Karl <li>Brandon <div>DIV <li>Glen <li>Tane <li>Ralph ``` `:first-child`只...
在CSS(层叠样式表)中,`:first-child`伪类选择器是一个非常有用的工具,它允许我们选择并应用样式给父元素下的第一...在日常开发中,不断学习和实践这些CSS选择器,可以提高我们的工作效率并提升页面设计的精准度。
这类选择器包括但不限于 `:first-child`、`:last-child`、`:nth-child()`、`:nth-last-child()`、`:nth-of-type()` 和 `:nth-last-of-type()` 等。 #### 三、具体选择器详解 ##### 1\. `:first-child` `:first-...
这个选择器是基于CSS选择器标准,因此不仅在jQuery中,也在纯CSS中同样可用。`:first-child`选择器的目的是匹配那些在其父元素内部处于首位的元素。 首先,让我们来看看`:first-child`选择器的基本语法: ```...
除了`:first-child`和`:first-of-type`之外,CSS中还有一些其他类似的选择器,它们可以帮助我们更精细地控制元素的样式: - **`:last-child` 和 `:last-of-type`**:分别用于选择父元素的最后一个子元素和同类型中...
总的来说,解决IE8的`nth-child()`兼容问题需要借助其他CSS选择器的组合,这要求开发者具备对CSS选择器的深入理解。在编写代码时,考虑到旧版浏览器的兼容性,使用跨浏览器的解决方案是至关重要的。同时,随着浏览器...
在jQuery中,`:last-child`选择器是一种非常实用的定位元素的方法,它允许开发者精确地选取父元素下的最后一个子元素。这个选择器的功能和定义在于,它可以匹配那些在其父元素的所有子元素中处于最后一个位置的元素...
`:nth-of-type(n)`和`:nth-last-of-type(n)`与上述选择器类似,但它们是基于元素类型而不是位置来选择子元素。`:nth-of-type(n)`选择同类型的第n个子元素,`:nth-last-of-type(n)`选择同类型的倒数第n个子元素。 `:...
这些选择器是CSS(层叠样式表)的一部分,被广泛应用于网页设计中,以实现更加灵活和精确的选择与样式设置。接下来,我们将逐一解析文中提到的几种结构化伪类选择器,并详细介绍其应用场景和实际操作方法。 ### 1. ...
/* CSS3伪类选择器 E:root 根选择器,它的意思是匹配元素E所在文档的根元素,在HTML文... E:nth-of-type(1) 表示根据指定元素的类型设置第一个元素的样式,其实该选择器类似于nth-child选择器 E:empty 空选择器,
+ 同类型元素里的第一个元素选择器::first-of-type{ } + 同类型元素里的最后一个元素选择器::last-of-type{ } + 同类型元素里的第 n 个元素选择器::nth-of-type(n){ } * 否定选择器::not(条件){ } * 伪元素...
7. 同类型元素里的第一个元素选择器::first-of-type{} 8. 同类型元素里的最后一个元素选择器::last-of-type{} 9. 同类型元素里的第 n 个元素选择器::nth-of-type(n){} 三、伪元素选择器 1. 后置内容元素选择器...
在爬虫开发中,利用这些 CSS 选择器,可以精准地定位到目标网页上的特定元素,从而提取所需信息。例如,`a[href^='http:']` 会选择所有 `href` 属性以 "http:" 开头的 `<a>` 链接元素,这对于爬取网站链接非常有用。...
2. **类型伪类选择器**:`:first-of-type`、`:last-of-type`、`:nth-of-type(n)`和`:nth-last-of-type(n)`,这些选择器基于元素的类型而非它们在兄弟元素中的位置来选择元素。 区别:`:first-child`和`:first-of-...
本文将详细介绍CSS选择器中的各种类型及其用法。 #### 基本选择器 1. **类型选择器**:用于选择文档中的特定HTML元素。 - 示例:`h1`, `h2`。这些选择器会选中所有`<h1>`和`<h2>`标签。 2. **类选择器**:用于...
13. E:first-of-type、E:last-of-type、E:only-of-type、E:nth-of-type(n)、E:nth-last-of-type(n):基于元素在同类型同级兄弟元素中的位置选择元素。 五、伪元素选择器: 1. E:before、E::before:在元素E的内容...
### Python爬虫之CSS选择器详解 #### 一、引言 在进行Web爬虫开发时,高效地从HTML文档中提取所需数据是一项基本而重要的技能。Python作为一门功能强大的编程语言,在网络爬虫领域有着广泛的应用。CSS选择器作为一...