JQuery_JQuery选择器(:nth-child(n))详解

2024-05-03 07:38

本文主要是介绍JQuery_JQuery选择器(:nth-child(n))详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

jQuery的:nth-child(n)选择器用于匹配作为父元素下的第n个(或特定顺序的)子元素的元素,将其封装为jQuery对象并返回。

与该选择器相对的是:nth-last-child(n)选择器,用于匹配作为父元素下的倒数第n个(或符合特定倒数顺序的)子元素。

注意:nth-child(n)选择器与:eq(index)选择器的不同之处在于:
:eq(index)选择器只匹配一个元素,并且是所有匹配到的元素中的第index + 1个元素(索引index从0开始算起);
:nth-child(n)选择器则需要判断匹配到的元素是否是其父元素的第n个子元素或符合其他特定要求(序号n从1开始算起),如果是就保留,否则将被舍弃。

语法

jQuery1.1.4 新增该选择器。

// 这里的selector表示具体的选择器
// 这里的n表示具体的序号或者符合要求的表达式
jQuery( "selector:nth-child(n)" )

参数

参数 描述
selector 一个有效的选择器。
n 指定的序号,从1开始计数。

参数n一般是一个自然数,表示作为父元素下的第n个子元素。例如::nth-child(2)表示作为父元素的第2个子元素。

参数n也可以为特定的表达式(表达式中只能使用字母n表示自然数,大小写均可)。例如:

  • :nth-child(odd)表示匹配作为父元素的奇数(第1、3、5、7……个)子元素的元素;
  • :nth-child(even)表示匹配作为父元素的偶数(第2、4、6、8……个)子元素的元素;
  • :nth-child(3n)表示匹配作为父元素的第3n个子元素的元素(n表示包括0在内的自然数,下同);
  • :nth-child(3n+1)表示匹配作为父元素的第3n+1个子元素的元素;
  • :nth-child(3n+2)表示匹配作为父元素的第3n+2个子元素的元素;

返回值

返回封装了匹配到的元素的jQuery对象。

如果找不到任何相应的匹配,则返回一个空的jQuery对象。

jQuery先会根据选择器selector去查找所有匹配的元素,再看它们是否是父元素的符合指定顺序的子元素,如果是就保留,否则舍弃掉该元素。


注意事项

注意(1):
$(".listTable tr :nth-child(1)").hide();	(加括号)的写法

$(".listTable tr th:nth-child(1)").toggle();  (不加括号)
$(".listTable tr td:nth-child(1)").toggle(); //设置为0表示不用动画 ,1000就1秒的时间来展示或者隐藏


两种写法的意义是不同的,

第一种是对
.listTable tr 下的子元素(tr,td等)进行:nth-child(1)选择器选择。   即对tr下的th,td应用 nth-child(i)

第二种是对

.listTable tr td:nth-child(1) td的同级元素进行  :nth-child(1) 选择器选择, 因为td的父元素的 nth子元素即 td的同级元素。


注意(2):


DOM中 get(i),  i 的下标是从 0 开始的。
$("p").get(0);



nth-child(i) ,   i 的下标是从1开始的。


示例&说明

以下面这段HTML代码为例:

<div id="n1"><div id="n2"><ul id="n3"><li id="n4" class="c">item1</li><li id="n5">item2</li><li id="n6" class="c">item3</li></ul></div><div id="n7"><ul id="n8"><li id="n9">item1</li><li id="n10">item2</li></ul></div>
</div>

现在,我们想要为每个ul标签内查找它的第2个li标签,则可以编写如下jQuery代码:

// 选择了id分别为n5、n10的两个元素
$("ul li:nth-child(2)");

接着,为每个ul标签查找自然顺序为奇数的li标签,则可以编写如下jQuery代码:

// 选择了id分别为n4、n6、n9的3个元素
$("ul li:nth-child(odd)");

为每个ul父标签查找自然顺序为3n的li标签,对应的jQuery代码如下:

// 选择了id为n6的一个元素
// 虽然这里用的#n1进行限定,实际上jQuery先是通过查找所有匹配#n1 li的元素,然后再看这些元素是不是父元素的第3n个元素,如果是就保留,否则就舍弃掉。
$("#n1 li:nth-child(3n)");

查找所有包含类名c的li标签,并且它们必须是父元素的偶数顺序的子元素,我们可以编写如下jQuery代码:

// 没有选择任何元素,返回空的jQuery对象
// 虽然匹配li.c的有n4、n6两个元素,但它们都不是父元素的偶数顺序的子元素,因此无法匹配
$("li.c:nth-child(even)");

这篇关于JQuery_JQuery选择器(:nth-child(n))详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/956186

相关文章

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

MySQL中的锁机制详解之全局锁,表级锁,行级锁

《MySQL中的锁机制详解之全局锁,表级锁,行级锁》MySQL锁机制通过全局、表级、行级锁控制并发,保障数据一致性与隔离性,全局锁适用于全库备份,表级锁适合读多写少场景,行级锁(InnoDB)实现高并... 目录一、锁机制基础:从并发问题到锁分类1.1 并发访问的三大问题1.2 锁的核心作用1.3 锁粒度分

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是