JQuery中的五大选择器——“全家桶”详解

2023-05-16

详解JQuery中的五大选择器

目录

    • 详解JQuery中的五大选择器
    • 一、基本选择器
    • 二、层级选择器
    • 三、属性选择器
    • 四、过滤选择器
    • 五、表单过滤选择器

选择器能够筛选具有相似特征的元素标签,允许对HTML元素组或单个元素进行操作,jQuery 中所有选择器都以美元符号开头:$()。


首先我们先来讲讲JQuery的入口函数:

&(function(){
	//在这里写入代码
})

而在JavaScript中定义的入口函数window.onload方法和JQuery中的&(function)方法的区别是:
window.onload方法只能定义一次,如果定义多次,则前面的window.onload方法会被覆盖掉;&(function)方法可以多次定义,并且不会被覆盖

一、基本选择器

基本选择器有五类:
1、标签选择器: 语法:$ (“标签名”)
2、id选择器: 语法:$ ("#id的属性值")
3、类选择器:语法:$ (".class的属性值")
4、并集选择器:语法:$ (“选择器1,选择器2…”)

$(function(){
	//标签选择器
	//标签选择器又称元素选择器,用于获得所有匹配标签元素名称的元素
	$('div').css('backgroundColor','yellow')
	
	//id选择器:获得与指定id属性值匹配的元素
	//例如:元素id为container
	$('#container').css('backgroundColor','yellow')
	
	//类选择器:获得与指定class属性值匹配的元素
	//例如:元素class为container
	$('.container').css('backgroundColor','yellow')

	//并集选择器:获取多个选择器选中的所有元素
	//例如:选中所有div和所有id为container的的元素
	$('div #container').css('backgroundColor','yellow')
})

二、层级选择器

层级选择器有两类:
1、后代选择器:语法:$ (“A B”)
2、子选择器:语法:$ (“A>B”)

$(function(){
	//后代选择器:选择A元素内部的所有B元素
	//例如:选择div元素内部的所有span元素
	$('div span').css('backgroundColor','yellow')
	
	//子选择器:选择A元素下一级的B元素
	//例如:选择div元素内部的直系span元素
	$('div>span').css('backgroundColor','yellow')
})

后代选择器会选择A元素内部的所有B元素,而子选择器只会选择A元素的下一级B元素

后代选择器:
在这里插入图片描述子选择器:
在这里插入图片描述

三、属性选择器

属性选择器有三类:
1、属性名称选择器:语法:$ (“A [属性名]”)
2、属性选择器:语法:$ (“A [属性名=‘值’]”)
3、复合属性选择器:语法:$ (“A[属性名=‘值’][ ]…”)

$(function(){
	//属性名称选择器:包含指定属性的选择器
	//例如:选择包含有属性class的div
	$("div[class]").css('backgroundColor','yellow')
	
	//属性选择器:包含指定属性等于指定值的选择器
	//例如:选择属性class等于container的div
	$("div[class='container']").css('backgroundColor','yellow')
	
	//复合属性选择器:包含多个属性条件的选择器
	//例如:选择包含有属性id并且属性class等于container的div
	$("div[id][class='container']").css('backgroundColor','yellow')
})

拓展:属性选择器与正则表达式

&(function(){
	//“^=”:指定属性名称是以指定值开头的选择器
	//例如:选择class属性以con开头的div
	$("div[class^='con']").css('backgroundColor','yellow')
	
	//“$=”:指定属性名称是以指定值结尾的选择器
	//例如:选择class属性以er结尾的div
	$("div[class$='er']").css('backgroundColor','yellow')

	//“*=”:指定属性名称中包含指定值的选择器
	//例如:选择class属性中含有tain的div
	$("div[class*='tain']").css('backgroundColor','yellow')
})

四、过滤选择器

过滤选择器有九类:
1、首元素选择器:语法:$ (“A:first”)
2、尾元素选择器:语法:$ (“A:last”)
3、非元素选择器:语法:$ (“A:not(selector)”)
4、偶数选择器:语法:$ (“A:even”)
5、奇数选择器:语法:$ (“A:odd”)
6、等于索引选择器:语法:$ (“A:eq(index)”)
7、大于索引选择器 :语法:$ (“A:gt(index)”)
8、小于索引选择器:语法:$ (“A:lt(index)”)
9、标题选择器:语法:$(":header")

$(function(){
	//首元素选择器:获得选择的元素的第一个元素
	//例如:选择列表的第一个li
	$("li:first").css('backgroundColor','yellow')

	//尾元素选择器:获得选择的元素的最后一个元素
	//例如:选择列表的最后一个li
	$("li:last").css('backgroundColor','yellow')

	//非元素选择器:不包括指定内容的元素
	//例如选择除class为container外的所有div
	$("div:not(.container)").css('backgroundColor','yellow')
	
	//偶数选择器:从0开始计数,获得选择的元素中索引为偶数的元素
	//例如:选择列表的偶数项li
	$("li:even").css('backgroundColor','yellow')

	//奇数选择器:从0开始计数,获得选择的元素中索引为奇数的元素
	//例如:选择列表的奇数项li
	$("li:odd").css('backgroundColor','yellow')

	//等于索引选择器:获得选择的元素中指定索引的元素
	//例如:选择列表索引为2的li
	$("li:eq(2)").css('backgroundColor','yellow')

	//大于索引选择器:获得选择的元素中大于指定索引的元素
	//例如:选择列表索引大于2的li
	$("li:gt(2)").css('backgroundColor','yellow')

	//小于索引选择器:获得选择的元素中小于指定索引的元素
	//例如:选择列表索引小于2的li
	$("li:lt(2)").css('backgroundColor','yellow')

	//标题选择器:获得标题(h1~h6)元素,固定写法:$(":header")
	//选择所有的标题元素
	$(":header").css('backgroundColor','yellow')
})

五、表单过滤选择器

表单过滤器有四类:
1、可用元素选择器:语法:$ (“A:enabled”)
2、不可用元素选择器:语法: $ (“A:disabled”)
3、选中选择器(单/复选框):语法:$ (“A:checked”)
4、选中选择器(下拉框)语法:$ (“A:selected”)

$(function(){
	//可用元素选择器:获得选择元素中的可用元素
	//例如:改变表单内可用 input 元素的值
	$("input[type='text']:enabled").val("aaa");

	//不可用元素选择器:获得选择元素中的不可用元素
	//例如:改变表单内不可用 input 元素的值
	$("input[type='text']:disabled").val("aaa");

	//选中选择器:获得单选/复选框选中的元素
	//例如:获得选中的复选框的个数
	$("input[type='checkbox']:checked").length;

	//选中选择器:获得下拉框选中的元素
	//例如:获得下拉框选中的个数
	$("#obj>option:selected").length;
})

注意:$ (“A:checked”)和$ (“A:selected”)的区别:

$ (“A:checked”)选择器的作用对象是单选/复选框,而$ (“A:selected”)选择器的作用对象是下拉框;$ (“A:selected”)的作用对象是下拉框中包含在内的选项,所以在使用的时候,因此在使用时应当使用“>”来具体说明

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JQuery中的五大选择器——“全家桶”详解 的相关文章

  • 鲲鹏HCIA系列笔记题库汇总(内含PDF)

    大家好呀 xff0c 我是小二 xff0c 好久不见 之前小二分享了几篇鲲鹏 HCIA 认证的笔记 xff0c 反响还不错 现在小二特地把几篇笔记整理成一个 PDF 文档 xff0c 方便阅读 xff0c 也方便查找 目前已经更新到 V1
  • 【每周思考-15】我是标题

    不知道写什么 xff0c 先陈述一些事实吧 C程序设计语言 本周终于看完了第一遍 xff0c 练习题正在进行 从零开始学理财 杨婧 也看完了 xff0c 实操也在慢慢进行 xff0c 周期久一点 x1f611 上周末看了 金陵十三钗 xff
  • javaweb中jstl无法解析的错误解决方法

    javaweb中jstl无法解析的错误解决方法 无法在web xml或使用此应用程序部署的jar文件中解析绝对uri xff1a http java sun com jstl core 一 问题的产生 在javaweb项目中引入了 jstl
  • 500、1000

    上周日 xff0c 是我参加工作整整 1000 天 xff0c 确实没想到 xff0c 我都已经混迹职场这么久了 周一呢 xff0c 也是距离我写第一篇公众号文章的第 500 天 xff0c 确实也没想到写这么久了 两个相比较来说 xff0
  • 说实话,想家了

    想家了 这周最大的惊喜 xff0c 就是发现1月底该过年了 xff0c 好开心啊 xff01 毕业这几年是越来越恋家 xff0c 光是想想跟家人在一块的时光 xff0c 就美滋滋的 也许是这几年发生了太多事情 xff0c 前年爸爸车祸 xf
  • 恭喜“结业”啦

    之前报名的深圳市人工智能培训 xff0c 今天上完了最后一次课 xff0c 也考完试 xff0c 拿到结业证书啦 xff0c 哈哈 这个课程是人社局主办的 xff0c 有市级 区级的培训 个人觉得挺好 xff0c 带我简单的了解下人工智能的
  • 思考,分享

    不知不觉 xff0c 每周思考也陪我跨了个年 xff0c 本篇已经是第 22 周了 写 每周思考 时 xff0c 总能让我回想起很多事情 近段时间 xff0c 大部分精力都扑在工作上了 xff0c 工作日晚上回家 xff0c 也没有写文章的
  • Git代码提交,固定日志模板

    时间 xff1a 2022年1月9日21 38 22 团队开发 xff0c 但是每个人的日志风格不同该怎么办 xff1f 通过配置服务器的 Git 提交日志 xff0c 就可以实现统一的代码提交风格 先看实现效果 xff0c 如下图 这样大
  • 《伤逝——涓生的手记》,读后有感

    看鲁迅先生的 狂人日记 有一段时间了 xff0c 其中有一短篇 xff0c 名叫 伤逝 涓生的手记 xff0c 有一些浅显的思考 xff0c 分享给大家 xff0c 可以互相讨论学习 x1f37b 参考资料 xff1a 百度百科 伤逝 xf
  • 我的2021

    牛年的事情 xff0c 肯定要在牛年结束 现在已经是 2022 年的一月份了 xff0c 才开始动笔 xff0c 写这份 2021 的年终总结 有两方面的原因 xff0c 一方面是觉得 12 月的时间太紧了 xff08 参加了培训班 xff
  • C/C++ 语言 printf 可以直接使用宏定义打印?

    hello xff0c 你好呀 xff0c 我是小二 在 编码 过程中 xff0c 小二发现一种神奇的用法 xff1a 打印时 xff0c 直接使用宏定义 xff01 于是小二决定自己尝试一把 1 基础环境 使用的在线编译器是这个 x1f4
  • Anaconda3安装教程记录

    参考资料 1 官网 xff1a https www anaconda com products individual 2 安装教程 xff1a https mp weixin qq com s ip8TQF2pyjLwEBixwoxxBw
  • Anaconda3修改默认环境保存路径

    参考链接 1 https blog csdn net javastart article details 102563461 配置方法 方法一 1 修改 C 盘 condarc 隐藏文件 xff1b 2 在文件末尾增加如下内容 envs d
  • javaweb servlet 在控制台上输出乱码的解决

    上午打开我的idea 正在愉快的写代码 xff0c 某段程序中需要servlet在控制台上打印一个消息 xff0c 一个悲催的故事发生了 xff0c 打印的中文字符全乱码了 难道是我的tomcat xff0c 没有设置吗 xff1f tom
  • Win10系统,使用VSCode提示错误fatal: detected dubious ownership in repository at

    1 环境信息 1 Win10 系统 2 VSCode 软件 2 问题现象 使用 VSCode 打开 Samba 中的 Git 工程时 xff0c Git 相关插件不会启用 xff0c 通过 git 输出界面 xff0c 可以看到有提示如下错
  • C++程序存在多个cin输入时,后边的cin失效

    1 参考资料 1 https www cnblogs com pengjun shanghai p 4800871 html 2 C 43 43 Primer Plus xff08 第6版 xff09 中文版 xff0c 第 4 2 5 小
  • C++整形变量临界值问题思考

    最近调试代码时 xff0c 遇到了一个问题 程序中定义了 int 类型的变量 xff0c 在代码中做自增操作 xff0c 当达到某一阈值 xff08 等于15 xff09 的时候 xff0c 会做一些特殊处理 实际测试发现 xff0c 该阈
  • Windows与Linux行尾换行符引发Git的一系列惨案

    1 前言 最近在使用 Git 提交代码的时候 xff0c 老是碰到一段看起来 没有任何改动 的代码 xff0c 被 diff 检测出异常 xff0c 很是苦恼 xff0c 特别是项目紧急的时候 xff0c 不敢用 VSCode 编辑了 xf
  • 防止C++程序重复运行的几种方法

    防止C 43 43 程序重复运行的几种方法 有时候 xff0c 为了某些要求 xff0c 我们希望程序实例只运行一次 而在VB6中 xff0c 我们可以很轻易的根据App hPreInstance来判断程序是否已经运行 但是在C 43 43
  • 玩转 ESP32 + Arduino(二十八) TFT_eSPI库驱动ST7789

    我们用到的库 TFT eSPI 一 硬件接线 这里我们使用了中景园的ST7789 一般屏幕的引脚定义如下 接线 我们直接用VSPI接线 ESP32引脚ST7789引脚功能GNDGND接地3V3VCC电源 VCLK 18SCLSPI时钟线 V

随机推荐