jQuery选择器

目录

一、基本选择器

1. 标签选择器(元素选择器)

2. ID 选择器

3. 类选择器

4. 通配符选择器

二、层次选择器

1. 后代选择器

2. 子选择器

3. 相邻兄弟选择器

4. 一般兄弟选择器

三、属性选择器

1. 简单属性选择器

2. 属性值等于选择器

3.属性值包含选择器

4.属性值以特定字符串开头选择器

5.属性值以特定字符串结尾选择器

四、表单选择器

1. 表单元素选择器

2. 文本框选择器

3. 密码框选择器

4. 单选按钮选择器

5. 复选框选择器

6. 提交按钮选择器

7. 重置按钮选择器


开发时遇到些不太好获取的元素时,需要去查获取元素的方式,由此总结了一下jQuery选择器,便于开发中快速获取DOM元素。

一、基本选择器

1. 标签选择器(元素选择器)

  • 语法:$("标签名")
  • 示例:$("p")会选择文档中所有的<p>段落元素。这种选择器类似于原生 JavaScript 中的document.getElementsByTagName("p"),但 jQuery 选择器返回的是一个 jQuery 对象,可以方便地进行链式操作。
  • 用途:用于对同一类型的所有元素进行统一操作,如改变所有<p>元素的字体颜色为红色:$("p").css("color", "red");

2. ID 选择器

  • 语法:$("#id名称")
  • 示例:如果有一个元素的 ID 为myId,如<div id="myId"></div>,那么$("#myId")就会选中这个特定的<div>元素。这类似于原生 JavaScript 中的document.getElementById("myId"),但同样,jQuery 返回的是一个可进行链式操作的对象。
  • 用途:用于精准定位具有特定 ID 的元素,因为在 HTML 中 ID 是唯一的。例如,获取 ID 为myId的元素的内容:var content = $("#myId").html();

3. 类选择器

  • 语法:$(".类名")
  • 示例:对于具有类名myClass的元素,如<div class="myClass"></div><p class="myClass"></p>$(".myClass")会选择所有带有myClass类的元素。这类似于原生 JavaScript 中的document.getElementsByClassName("myClass"),但更具灵活性。
  • 用途:可以对具有相同类的一组元素进行操作,比如为所有具有myClass类的元素添加一个点击事件:$(".myClass").click(function () { console.log("元素被点击"); });

4. 通配符选择器

  • 语法:$("*")
  • 示例:这个选择器会选择文档中的所有元素,包括<html><body>、各种标签等。
  • 用途:一般用于在需要对整个文档进行某些初始化操作时,比如清除所有元素的默认边距和填充:$("*").css("margin", 0).css("padding", 0);。不过,在实际应用中,由于性能原因,要谨慎使用通配符选择器,因为它会选择大量元素,可能导致操作效率低下。

二、层次选择器

1. 后代选择器

  • 语法:$("祖先元素 后代元素")
  • 示例:$("div p")会选择所有<div>元素内部的<p>元素,不管<p>元素在<div>内部嵌套了多少层。例如,在以下 HTML 结构中:<div><section><p>这是一个段落</p></section></div><p>元素会被$("div p")选中。
  • 用途:用于对某个容器元素内部的特定后代元素进行操作。比如,为一个<div>容器内的所有<a>链接设置样式:$("div a").css("text - decoration", "none");

2. 子选择器

  • 语法:$("父元素 > 子元素")
  • 示例:$("ul > li")会选择所有<ul>元素的直接子元素<li>。与后代选择器不同的是,它只选择直接子元素。例如,对于 HTML 结构<ul><li>直接子元素1</li><li>直接子元素2</li><ol><li>间接子元素</li></ol></ul>$("ul > li")只会选择 “直接子元素 1” 和 “直接子元素 2” 这两个<li>元素。

在这个HTML结构中,大部分元素是动态生成的,但元素结构是固定的。<td>下方第一层的id是我们定义的,不会动态变化,能够稳定获取。因此可以通过以下方式获取左侧框中的input元素(利用子选择器):

$('#sellerAddressPhone >span >input')
  • 用途:当需要对父元素的直接子元素进行操作时很有用。比如,为一个导航栏<ul>的直接<li>子元素设置背景颜色:$("nav > ul > li").css("background - color", "lightgray");

3. 相邻兄弟选择器

  • 语法:$("前一个元素 + 后一个元素")
  • 示例:$("h1 + p")会选择紧挨着<h1>元素之后的<p>元素。例如,在 HTML 结构<h1>标题</h1><p>紧挨着标题的段落</p><p>另一个段落</p>中,只有第一个<p>元素会被选中。
  • 用途:用于对紧挨着某个元素的兄弟元素进行操作。比如,当一个<h2>标题后紧跟着一个<div>元素时,为这个<div>元素添加一个边框:$("h2 + div").css("border", "1px solid black");

4. 一般兄弟选择器

  • 语法:$("前一个元素 ~ 后一个元素")
  • 示例:$("h1 ~ p")会选择所有与<h1>元素同级并且在其后的<p>元素。在 HTML 结构<h1>标题</h1><p>段落1</p><p>段落2</p>中,两个<p>元素都会被选中。
  • 用途:可以对与某个元素同级且在其后的一组元素进行操作。比如,为一个<h3>标题后的所有<img>元素添加一个加载动画:$("h3 ~ img").addClass("loading - animation");

三、属性选择器

1. 简单属性选择器

  • 语法:$("[属性名]")
  • 示例:$("[href]")会选择所有带有href属性的元素,通常用于选择所有的<a>链接元素(因为<a>元素通常有href属性)和其他带有href属性的元素(如<area>等)。
  • 用途:可以根据元素是否具有某个属性来进行选择。比如,为所有带有title属性的元素添加一个提示框:$("[title]").attr("data - tooltip", "这是一个提示").mouseenter(function () { $(this).tooltip(); });

2. 属性值等于选择器

  • 语法:$("[属性名='属性值']")
  • 示例:$("[class='myClass']")会选择所有class属性值恰好为myClass的元素。如果有一个元素<div class="myClass"></div>,它会被选中,但<div class="myClass otherClass"></div>不会被选中。
  • 用途:用于精准选择属性值完全匹配的元素。比如,选择所有src属性值为image.jpg<img>元素:$("[src='image.jpg']").addClass("highlight");

3.属性值包含选择器

  • 语法:$("[属性名*='属性值']")
  • 示例:$("[href*='google']")会选择所有href属性值包含google字样的元素。这可能包括<a href="https://www.google.com"><a href="https://google - maps.com">等元素。
  • 用途:当需要选择属性值中包含特定字符串的元素时很有用。比如,在一个网页中找到所有链接到包含blog字样网站的<a>元素:$("[href*='blog']").css("color", "blue");

4.属性值以特定字符串开头选择器

  • 语法:$("[属性名^='属性值开头']")
  • 示例:$("[src^='https://']")会选择所有src属性值以https://开头的元素,通常用于选择安全链接的<img>元素或其他资源元素。
  • 用途:用于选择属性值具有特定开头的元素。比如,选择所有以data -开头的自定义属性的元素:$("[id^='data -']").each(function () { console.log($(this).attr("id")); });

5.属性值以特定字符串结尾选择器

  • 语法:$("[属性名$='属性值结尾']")
  • 示例:$("[href$='.pdf']")会选择所有href属性值以.pdf结尾的元素,主要用于选择指向 PDF 文件的链接。
  • 用途:可以方便地筛选出具有特定结尾属性值的元素。比如,选择所有class属性值以- active结尾的元素并添加一个样式:$("[class$='- active']").addClass("highlight - active");

四、表单选择器

1. 表单元素选择器

  • 语法:$(":input")
  • 示例:这个选择器会选择所有的表单输入元素,包括<input><textarea><select><button>。例如,在一个表单中,可以通过$(":input").css("border", "1px solid gray");为所有表单输入元素添加一个灰色边框。
  • 用途:用于对整个表单的输入元素进行统一操作,如设置样式、添加事件监听器等。

2. 文本框选择器

  • 语法:$(":text")
  • 示例:$(":text")会选择所有类型为文本的<input>元素,如<input type="text">。它不包括<textarea>。可以用于设置文本框的默认值,如$(":text").val("请输入内容");
  • 用途:主要用于对文本输入框进行特定操作,如验证输入内容、设置格式等。

3. 密码框选择器

  • 语法:$(":password")
  • 示例:选择所有密码输入框(<input type="password">)。可以用于设置密码框的安全提示,如$(":password").attr("placeholder", "请输入密码");
  • 用途:用于对密码框进行特殊操作,如增强安全性相关的设置、验证密码强度等。

4. 单选按钮选择器

  • 语法:$(":radio")
  • 示例:选择所有单选按钮(<input type="radio">)。可以用于检查单选按钮的选中状态,如$(":radio").each(function () { if ($(this).is(":checked")) { console.log("选中的单选按钮的值:" + $(this).val()); } });
  • 用途:方便对单选按钮组进行操作,如获取选中的值、设置默认选中项等。

5. 复选框选择器

  • 语法:$(":checkbox")
  • 示例:选择所有复选框(<input type="checkbox">)。可以用于批量操作复选框,如全选或全不选操作:var allCheckBoxes = $(":checkbox"); function checkAll() { allCheckBoxes.prop("checked", true); } function uncheckAll() { allCheckBoxes.prop("checked", false); }
  • 用途:用于对复选框组进行操作,包括统计选中数量、设置选中状态等。

6. 提交按钮选择器

  • 语法:$(":submit")
  • 示例:选择所有表单提交按钮(<input type="submit"><button type="submit">)。可以用于为提交按钮添加点击事件,如$(":submit").click(function () { console.log("表单提交"); });
  • 用途:用于处理表单提交相关操作,如验证表单数据、提交表单数据到服务器等。

7. 重置按钮选择器

  • 语法:$(":reset")
  • 示例:选择所有表单重置按钮(<input type="reset"><button type="reset">)。可以用于为重置按钮添加点击事件,如$(":reset").click(function () { console.log("表单重置"); });
  • 用途:用于处理表单重置相关操作,如清除表单输入内容、恢复表单初始状态等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/4596.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

kafka如何获取 topic 主题的列表?

大家好&#xff0c;我是锋哥。今天分享关于【kafka如何获取 topic 主题的列表&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; kafka如何获取 topic 主题的列表&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在Kafka中&#xff0c;可以…

π0——用于通用机器人控制的流匹配VLA模型:一套框架控制7种机械臂(基于PaliGemma和ACT的3B模型)

前言 在此文之前&#xff0c;我花了一天半&#xff0c;详细解读了清华一研究团队发布的机器人扩散大模型RDT&#xff0c;包括其每一个附录&#xff0c;并在该文中预告说&#xff1a;​下一篇是一个3B的机器人大模型打通7种不同品牌的机械臂&#xff0c;这几个工作宣告机器人真…

Golang--运算符

1、算术运算符 算术运算符&#xff1a; &#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;%&#xff0c;&#xff0c;--&#xff0c;对数值类型的变量进行运算 package mainimport ("fmt" )func main() {//算术运算符// - * / % --//号在golang中表示正号&…

论文阅读:DynamicDet: A Unified Dynamic Architecture for Object Detection

论文地址&#xff1a;[2304.05552] DynamicDet: A Unified Dynamic Architecture for Object Detection 代码地址&#xff1a;GitHub - VDIGPKU/DynamicDet: [CVPR 2023] DynamicDet: A Unified Dynamic Architecture for Object Detection 概要 本文提出了一种名为 DynamicD…

Flutter 正在切换成 Monorepo 和支持 workspaces

其实关于 Monorepo 和 workspaces 相关内容在之前《Dart 3.5 发布&#xff0c;全新 Dart Roadmap Update》 和 《Flutter 之 ftcon24usa 大会&#xff0c;创始人分享 Flutter 十年发展史》 就有简单提到过&#xff0c;而目前来说刚好看到 flaux 这个新进展&#xff0c;所以就再…

expand,None索引,permute【pytorch】

torch.expand 输入必须是一个向量或等价形式&#xff0c;扩展的最后一个维度与输入大小一致 当输入形状为&#xff08;1&#xff0c;1,1,1,1&#xff0c;……&#xff0c;3&#xff09;_4时。 expand的最后一位输入向量的元素个数&#xff08;长度&#xff09;&#xff08;3&…

GEE | 对Landsat 8 影像进行缨帽变换

基于Landsat 8 影像的缨帽变换 var roi ee.FeatureCollection(users/yongweicao11/Dongguan2022); // Landsat 8 的缨帽变换系数矩阵var Landsat8TC ee.Array([[0.3029, 0.2786 , 0.4733, 0.5599, 0.5082, 0.1872],[-0.2941, -0.2435, -0.5424, 0.7276, 0.0713, -0.1608],[0.…

Obsidian的Vim插件设置配置全流程 -- 脱离鼠标拥抱Vim神教

Obsidian的Vim插件设置配置全流程 -- 脱离鼠标拥抱Vim神教 参考文章引言1. vim 及 vimrc 介绍2. 开启 Obsidian 内置的 Vim3. vimrc 插件的获取和安装4. vimrc 插件的设置5. vimrc 配置文件的设置附件 参考文章 vim 常见操作 Obsidian插件安装教程 引言 vim 很好用&#xff…

6.《双指针篇》---⑥和为S的两个数字(中等但简单)(牛客)

题目传送门 方法一&#xff1a;暴力解法。双循环 方法二&#xff1a;双指针&#xff08;推荐&#xff09; 1.定义一个顺序表&#xff0c;定义左右双指针 2.while循环。判断array[left] array[right] 的值。 3.若等于则将这两个值加入数组。并break 4.若大于则right-- 5.若小于…

LeetCode994. 腐烂的橘子(2024秋季每日一题 54)

在给定的 m x n 网格 grid 中&#xff0c;每个单元格可以有以下三个值之一&#xff1a; 值 0 代表空单元格&#xff1b;值 1 代表新鲜橘子&#xff1b;值 2 代表腐烂的橘子。 每分钟&#xff0c;腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直到单元格中没有…

【51蛋骗鸡一个独立按键控制流水灯开关】2022-1-18

缘由一个独立按键控制流水灯开关-编程语言-CSDN问答 #include<reg52.h>//头文件 sbit k1P3^7;// void main() //主函数 {unsigned char sj0, ls0;unsigned int ys0;P00;/*P0255;*/while(1){if(!k1&&!sj){if(!ls){ls1;/*P00;*/}else ls0;while(!k1);}if(…

shodan(五)连接Mongodb数据库Jenkinsorg、net、查看waf命令

声明&#xff1a;学习素材来自b站up【泷羽Sec】&#xff0c;侵删&#xff0c;若阅读过程中有相关方面的不足&#xff0c;还请指正&#xff0c;本文只做相关技术分享,切莫从事违法等相关行为&#xff0c;本人一律不承担一切后果 引言&#xff1a; 1.Shodan 是一个专门用于搜索连…

lvgl白屏问题(LCD长时间白屏)和优化lvgl

开机白屏时间过长 -- 这里我们不考虑是lvgl占的内存太大的问题&#xff0c;这里考虑的是为什么lcd屏幕启动后会有长时间的白屏。 首先我们要了解lvgl的相关操作&#xff0c;主要集中在一个函数中。只有程序执行到了这个函数&#xff0c;lvgl的屏幕才会显现出来 总结来说就是l…

公网ip和弹性公网ip有什么区别?哪个更好

公网ip和弹性公网ip有什么区别&#xff1f;公网IP和弹性公网IP都是用于互联网通信的IP地址&#xff0c;但它们在灵活性、成本和管理方式上有所不同。公网IP是直接分配给设备的静态IP地址&#xff0c;适用于需要固定外部访问的场景&#xff0c;但可能面临安全风险和设置复杂性。…

DevOps-课堂笔记

各种 aaS 类比于计算机网络的 OSI 参考模型&#xff0c;一个软件应用项目需要不同的支撑层&#xff0c;例如从下至上大概需要&#xff1a; 硬件层面的服务器针对硬件做弹性分配的虚拟化机制&#xff0c;例如虚拟机在虚拟化环境内运行的 OS支撑软件应用的中间件&#xff0c;例…

游戏想实习但定位不清的问题

国内的游戏大厂包括腾讯、网易、盛趣游戏、西山居、米哈游、莉莉丝、完美世界、游族、心动、叠纸、三七、TapTap、Tap4fun、字节跳动、哔哩哔哩、funplus、巨人、IGG、沐瞳等。而国外的游戏大厂则有育碧、EA、拳头、supercell、暴雪、R星、卡普空、任天堂、波兰蠢驴等。 一般来…

Dubbo使用Nacos作为注册中心

使用 Nacos 作为注册中心实现自动服务发现 本示例演示 Nacos 作为注册中心实现自动服务发现&#xff0c;示例基于 Spring Boot 应用展开&#xff0c;可在此查看 完整示例代码 1 基本配置 1.1 增加依赖 增加 dubbo、nacos-client 依赖&#xff1a; <dependencies><…

css基础

文章目录 基础 基础 配置网页的cion图标 在网站根目录下放置 favicon.ico 文件&#xff0c;浏览器在加载网页的时候会自动加载的。这个图片只能是 ico 格式&#xff0c;并且只能叫这个名字 如: css项目的根目录下 刷新网站没有生效&#xff0c;需要强制刷新&#xff0c;shif…

Lucene的Directory的详细使用与性能测试(6)

文章目录 第6章 Directory6.1 Directory介绍6.1.1 FSDirectory1&#xff09;SimpleFSDirectory&#xff1a;2&#xff09;NIOFSDirectory&#xff1a;3&#xff09;MMapDirectory&#xff1a;4&#xff09;FSDirectory子类对比 6.2.2 RAMDirectory 6.2 Directory性能测试环境搭…

HTML+javaScript+CSS

文章目录 HTMLjavaScriptCSS属性区块表单层叠样式表选择器常用属性盒子模型相关属性浮动float定位&#xff08;position&#xff09; JS操作节点事件点击事件onclick()聚焦事件、失焦事件鼠标移入移出事件 定时任务延迟定时任务重复定时任务 判断哪个单选框被选中设置按钮失效冒…