JQuery选择器(转载)
原文:https://blog.csdn.net/colorapp/article/details/44279645
一. jQuery选择器是什么
1. CSS选择器
要是某个样式应用于特定的HTML元素,首先需要找到该元素,在CSS中,执行这一任务的表现规则称为CSS选择器。参见之前CSS的学习博客:http://blog.csdn.net/colorapp/article/details/43706585。


2. jQuery选择器
jQuery中的选择器完全继承了CSS的风格。利用jQuery选择器,可以非常便捷和快速地找出特定的DOM元素,然后为它们添加相应的行为,而无需担心浏览器是否支持这一选择器。学会使用选择器是学习jQuery的基础,jQuery的行为规则都必须在获取到元素后才能生效。
jQuery选择器的写法与CSS 选择器的写法十分相似,只不过两者的作用效果不同,CSS选择器找到元素后是添加样式,而jQuery选择器找到元素后是添加行为。需要说明的是,jQuery中涉及操作CSS样式的部分比单纯的CSS功能更为强大,并且拥有夸浏览器的功能。
二. jQuery选择器的优势
1. 简洁的写法:$()函数在很多 JavaScript 类库中都被作为一个选择器函数来使用,在jQuery中也不例外
2. 支持CSS1到CSS3选择器
3. 完善的处理机制:使用jQuery选择器不仅比使用传统的getElementById() 和 getElementsByTagName() 函数简洁的多,而且还能避免某些错误。需要注意的是,使用$(“#tt”)获取的永远是对象,即使网页上没有此元素。因此需要使用jQuery检查某个元素在网页上是否在存在时,可以使用 if($(“#tt”).length > 0){}根据获取到元素的长度来判断或者if($(“#tt”)[0]){} 转化成DOM对象来判断
三. jQuery选择器
1. 基本选择器
基本选择器是 jQuery 中最常用的选择器,也是最简单的选择器,它通过元素id、class 和标签名等来查找DOM元素。在网页中,每个id名称只能使用一次,class允许重复使用。

2. 层次选择器
如果要通过DOM元素之间的层次关系来获取特定元素,例如后代元素、子元素、相邻元素和同辈元素等,那么层次选择器是一个非常好的选择。


可以使用next()方法代替 $(‘prev + next’)选择器,使用nextAll()方法代替 $(‘prev ~ siblings’)选择器
3. 过滤选择器
过滤选择器主要是通过特定的过滤规则来筛选出所需的DOM元素,过滤规则与CSS中的伪类选择器语法相同,即选择器都以一个冒号(:)开头。按照不同的过滤规则,过滤选择器可以分为基本过滤、内容过滤、可见性过滤、属性过滤、子元素过滤和表单对象属性过滤选择器。
(1) 基本过滤选择器

(2) 内容过滤选择器
内容过滤选择器的过滤规则主要体现在它所包含的子元素或文本内容上。

(3) 可见性过滤选择器
可见性过滤选择器是根据元素的可见和不可见来选择相应的元素。

(4) 属性过滤选择器
属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素。

(5) 子元素过滤选择器
子元素过滤选择器的过滤规则相对于其它的选择器稍微有些复杂,只要将元素的父元素和子元素区分清除,那么使用起来也非常简单。另外要注意它与普通的过滤选择器的区别。

注意:eq(index) 只匹配一个元素,而:nth-child将为每一个符合条件的父元素匹配子元素。同时应该注意到 nth-chile(index) 的 index 是从1开始的,而 :eq(index) 是从0开始的。同理 :first 和 :first-child,:last和:last-child也类似。
(6) 表单对象属性过滤选择器
此选择器主要是对所选择的表单元素进行过滤,例如选择被选中的下拉框,多选框等元素。

4. 表单选择器
为了使用户能够更加灵活地操作表单,jQuery中专门加入了表单选择器。

四 选择器中的一些注意事项
1. 选择器中含有特殊符号的注意事项
选择器中含有“.”、“#”、“(”或“]”等特殊字符。根据W3C的规定,属性值中是不能含有这些特殊字符的,但在实际项目中偶尔会遇到表达式中含有“#”和“.”等特殊字符,如果按照普通的方式去处理的话就会出错。解决此类错误的方法是使用转义符转义。
2. 选择器中含有空格的注意事项
选择器中的空格也是不容忽视的,多一个空格或少一个空格也许会得到截然不同的结果。带空格为后代选择器,不带空格为过滤选择器。
JQuery选择器(转载)的更多相关文章
- jQuery选择器详解及实例---《转载》
选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编写 ...
- 在.NET中使用JQuery 选择器精确提取网页内容
1. 前言 相信很多人做开发时都有过这样的需求:从网页中准确提取所需的内容.思前想后,方法无非是以下几种:(本人经验尚浅,有更好的方法还请大家指点) 1. 使用正则表达式匹配所需元素.(缺点:同类型的 ...
- jQuery选择器。 5.21 《深夜还在编码的你》
(之所以字体弄那么大是因为省眼,程序员不容易,程序员的眼睛更不容易,请保护我们的眼睛) 选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器. 熟练地使用选 ...
- jquery 选择器大全
jquery 选择器大体上可分为4 类: 1.基本选择器 2.层次选择器 3.过滤选择器 4.表单选择器 其中过滤选择器可以分为: 1.简单过滤选择器 2.内容过滤选择器 3.可见性过滤选择器 4.属 ...
- 【前端学习】【jQuery选择器】
jQuery选择器 jQuery选择器 本文内容引自于单东林<锋利的jQuery>,未经原作者准许,禁止以商业目的转载发布! 选择器是jQuery的根基,在jQuery中,对事件处 ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- 分针网——每日分享: jquery选择器的用法
jQuery选择器是jQuery库的一大特色,用这些选择器不但可以省去繁琐的JavaScript 书写方式,还可以节省时间和效率,正是有这些jQuery选择器,才让我们更容易的操作JavaScript ...
- 分针网—IT教育: jquery选择器的用法
jQuery选择器是jQuery库的一大特色,用这些选择器不但可以省去繁琐的JavaScript 书写方式,还可以节省时间和效率,正是有这些jQuery选择器,才让我们更容易的操作JavaScript ...
- Jquery 使用和Jquery选择器
jQuery中的顶级对象($) jQuery 中最常用的对象即 $ 对象,要想使用 jQuery 的方法必须通过 $ 对象.只有将普通的 Dom 对象封装成 jQuery 对象,然后才能调用 jQue ...
随机推荐
- springboot整合PageHelper
1.在pom文件中引入Pagehelper分页插件 <!-- 分页插件 --> <dependency> <groupId>com.github.pagehelpe ...
- H3C IP路由基础
一.路由简介 在网络中路由器根据所收到的报文的目的地址选择一条合适的路径,并将报文转发到下一个路由器.路径中最后一个路由器负责将报文转发给目的主机. 路由就是报文在转发过程中的路径信息,用来指导报文转 ...
- 谈谈近期学习Nativejs和reactNative的一些感受
因为前段时间,对dcloud推出的Nativejs和facebook推出的reactNative都做了一点点浅薄的研究.因为研究的很浅薄,所以仅代表我个人观点,谈谈对运用这两个产品的些许感受. 说起d ...
- 关于print()、sys.stdout、sys.stderr的一些理解
print() 方法的语法: print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) 其中file = sys.stdout的 ...
- python算术
''' 1.对每个数进行平方, 2.求和 ''' print(sum(x ** 2 for x in range(4)))
- 巨杉Tech | 微服务趋势下的数据库设计与应用简析
周五(7月12日)巨杉数据库参与了由得到App主办八里庄技术沙龙活动,分享主题是关于分布式数据库架构与实战. 以下就是根据巨杉数据库现场分享的内容进行的分享实录整理. 巨杉数据库简介 巨杉,专注新一代 ...
- C#设置WebBrowser使用Edge内核
原文:C#设置WebBrowser使用Edge内核 1. 问题描述 用C#写了一个小工具, 需要显示网页上的内容, 但WebBrowser使用的是IE内核, 不能很好的展示网页 2. 解决方法 通过一 ...
- Zenject与UniRx结合实现跨线程通信Signal
修改Zenject下ProfileBlock.cs源码, 取消有关UnityEngine.Profiling.Profiler的代码. 然后使用Zenject的Signal: // 定义Signal ...
- C#中获取时间戳
{ 注意:下面是以毫秒为单位的13位 UTC 时间戳(非正规) }//先取得当前的UTC时间,然后转换成计算用的周期数(简称计时周期数),每个周期为100纳钞(ns)=0.1微秒(us)=0.00 ...
- 堆(Heap)和栈(Stack)
详细可以查看这篇文章:https://www.cnblogs.com/qingtianMo/p/5255121.html 栈保存代码执行(调用)的路径,堆负责保存对象(数据) 栈相当于摞盒子,进入一个 ...