第3章 常规选择器

学习要点:

1.简单选择器

2.进阶选择器

3.高级选择器

jQuery 最核心的组成部分就是:选择器引擎。

一.简单选择器 

1.元素选择器

2.id选择器

3.类选择器

$(‘div‘).css(‘color‘,‘red‘); //元素选择器,返回多个元素

$(‘#box‘).css(‘color‘,‘red‘); //ID 选择器,返回单个元素

$(‘.box‘).css(‘color‘,‘red‘); //类(class)选择器,返回多个元素

为了证明 ID 返回的是单个元素,而元素标签名和类(class)返回的是多个,我们可以采 用 jQuery 核心自带的一个属性 length 或 size()方法来查看返回的元素个数

alert($(‘div‘).size()); //3 个

alert($(‘#box‘).size()); //1 个,后面两个失明了

alert($(‘.box‘).size()); //3 个

二.进阶选择器

//群组选择器span,em,.box{ color:red;} //多种选择器添加红色字体

$(‘span,em,.box‘).css(‘color‘,‘red‘);  //群组选择器 jQuery 方式

//后代选择器

ul li a{  color:red; }//层层追溯到的元素添加红色字体

$(‘ullia‘).css(‘color‘,‘red‘); //群组选择器 jQuery 方式

//通配选择器

*{  color:red; }//页面所有元素都添加红色字体

$(‘*‘).css(‘color‘,‘red‘); //通配选择器

目前介绍的六种选择器,在实际应用中,我们可以灵活的搭配,使得选择器更加的精准 和快速:

$(‘#box p,ul li *‘).css(‘color‘,‘red‘); //组合了多种选择器
警告:在实际使用上,通配选择器一般用的并不多,尤其是在大通配上,比如:$(‘*‘), 这种使用方法效率很低,影响性能,建议竟可能少用。
还有一种选择器,可以在 ID 和类(class)中指明元素前缀,比如: $(‘div.box‘); //限定必须是.box 元素获取必须是 div $(‘p#boxdiv.side‘); //同上
类(class)有一个特殊的模式,就是同一个 DOM 节点可以声明多个类(class)。那么对于这 种格式,我们有多 class 选择器可以使用,但要注意和 class 群组选择器的区别。

.box.pox{ //双 class 选择器,IE6 出现异常 color:red;} $(‘.box.pox‘).css(‘color‘,‘red‘); //兼容 IE6,解决了异常

多 class 选择器是必须一个 DOM 节点同时有多个 class,用这多个 class 进行精确限定。 而群组 class 选择器,只不过是多个 class 进行选择而已。 $(‘.box,.pox‘).css(‘color‘,‘red‘); //加了逗号,体会区别
警告:在构造选择器时,有一个通用的优化原则:只追求必要的确定性。当选择器筛选 越复杂,jQuery 内部的选择器引擎处理字符串的时间就越长。比如: $(‘div#box ul li a#link‘); //让 jQuery 内部处理了不必要的字符串 $(‘#link‘); //ID 是唯一性的,准确度不变,性能提升

三.高级选择器 

//后代选择器
$(‘#boxp‘).css(‘color‘, ‘red‘); //全兼容
jQuery 为后代选择器提供了一个等价 find()方法
$(‘#box‘).find(‘p‘).css(‘color‘,‘red‘); //和后代选择器等价

//子选择器,孙子后失明
#box>p{ color:red; }//IE6 不支持
$(‘#box>p‘).css(‘color‘,‘red‘); //兼容 IE6
jQuery 为子选择器提供了一个等价 children()方法:
$(‘#box‘).children(‘p‘).css(‘color‘,‘red‘); //和子选择器等价

//next 选择器(下一个同级节点)
#box+p{ color:red; } //IE6 不支持
$(‘#box+p‘).css(‘color‘, ‘red‘); //兼容 IE6
jQuery 为 next 选择器提供了一个等价的方法 next()
$(‘#box‘).next(‘p‘).css(‘color‘,‘red‘); //和 next 选择器等价

//nextAll 选择器(后面所有同级节点)
#box~p{ color:red; }//IE6 不支持
$(‘#box~p‘).css(‘color‘,‘red‘); //兼容 IE6
jQuery 为 nextAll 选择器提供了一个等价的方法 nextAll()
$(‘#box‘).nextAll(‘p‘).css(‘color‘,‘red‘); //和 nextAll 选择器等价

层次选择器对节点的层次都是有要求的,比如子选择器,只有子节点才可以被选择到, 孙子节点和重孙子节点都无法选择到。next 和 nextAll 选择器,必须是同一个层次的后一个 和后 N 个,不在同一个层次就无法选取到了。
在 find()、next()、nextAll()和 children()这四个方法中,如果不传递参数,就相当于传递 了“*”,即任何节点,我们不建议这么做,不但影响性能,而且由于精准度不佳可能在复杂 的 HTML 结构时产生怪异的结果。$(‘#box‘).next(); //相当于$(‘#box‘).next(‘*‘);

 

时间: 2024-08-07 03:54:19

第3章 常规选择器的相关文章

常规选择器

jQuery最核心的组成部分就是:选择器引擎.它继承了CSS的语法,可以对DOM元素的标签名.属性名.状态(?)等进行快速准确的选择,并且不必担心浏览器的兼容性.jQuery选择器实现了CSS1~CSS3的大部分规则之外,还实现了一些自定义的选择器,用于各种特殊状态的选择. 简单选择器 在使用jQuery选择器时,我们首先必须使用“$()”函数来包装我们的CSS规则.而CSS规则作为参数传递到jQuery对象内部后,再返回包含页面中对应元素的jQuery对象.随后,我们就可以对这个获取到的DOM

第十三章 CSS选择器(下)

第 13章  CSS选择器[下] 学习要点: 1.伪类选择器总汇 2.结构性伪类选择器 3.UI伪类选择器 4.动态伪类选择器 5.其他伪类选择器 本章主要探讨 HTML5中  CSS选择器中的伪类选择器,和伪元素选择器一样,面向某种共同特征来选择元素. 一.伪类选择器总汇 伪类选择器分为四种类型:结构性伪类.UI伪类.动态伪类和其他伪类选择器 二.结构性伪类选择器 结构性伪类选择器能够根据元素在文档中的位置选择元素.这类元素都有一个前缀(:). 1.根元素选择器 :root  { border

jQuery学习笔记——jQuery常规选择器

一.简单选择器在使用 jQuery 选择器时,我们首先必须使用“$()”函数来包装我们的 CSS 规则.而CSS 规则作为参数传递到 jQuery 对象内部后,再返回包含页面中对应元素的 jQuery 对象.随后,我们就可以对这个获取到的 DOM 节点进行行为操作了.#box {//使用 ID 选择器的 CSS 规则color:red;//将 ID 为 box 的元素字体颜色变红}在 jQuery 选择器里,我们使用如下的方式获取同样的结果:$('#box').css('color', 'red

第 13 章 CSS 选择器[上]

学习要点: 1.选择器总汇 2.基本选择器 3.复合选择器 4.伪元素选择器 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 选择器,通过选择器定位到想要设置样式的元素.目前 CSS 选择器的版本已经升级至第三代,即 CSS3 选择器.CSS3 选择器提供了更多.更丰富的选择器方式,主要分为三大类. 一.选择器总汇 本节课主要涉及到三种选择器:基本选择器.复合选择器和伪元素选择器,具体如下: 选择器 名称 说明 CSS 版本 * 通用选择器 选择所有元素 2 <type> 元素选择器

第七章:选择器引擎

jQuery凭借选择器风靡全球,各大框架类库都争先开发自己的选择,一时间内选择器变为框架的标配 早期的JQuery选择器和我们现在看到的远不一样.最初它使用混杂的xpath语法的selector.第二代转换为纯css的自定义伪类,(比如从xpath借鉴过来的位置伪类)的sizzle,但sizzle也一直在变,因为他的选择器一直存在问题,一直到JQuery1.9才搞定,并最终全面支持css3的结构伪类. 2005 年,Ben Nolan的Behaviours.js 内置了闻名于世的getEleme

关于css选择器的一些事 第一章 基本选择器!

关于选择器,好多人小伙伴只用了最基本的几个选择器,感觉这玩意没有啥学的,讲道理,确实也没啥学的.但是,选择器种类掌握的越多,编写代码起来就会越轻松,为啥呢.举个例子吧!先上一串代码和效果,就知道我想表达什么了! 上面一个五列的li,代码如下 <style> *{margin:0;padding: 0;list-style: none} ul{display: flex} li{flex: 1;text-align: center;border-left: 1px solid red} li:n

css权威指南阅读笔记-第二章css选择器

css选择器有10+种.这里介绍几种常用的和他们的特点 1.元素选择器 如h1 h2 h3 a p 等一系列标签名 2 通配选择器 *,匹配所有html的元素 3 类选择器 class=‘a b'这种选择器在.a.b和.b.a是一样的,不区别先后顺序,另外类选择器区分大小写,class='A'在css中不能用.a匹配到,只能用.A匹配到 类选择器在页面中一般用于样式的复用 4 ID选择器 id选择器在页面中具有唯一性,并区分大小写,就是说box和BOX不是同一个ID 5 属性选择器 有4种模式

jQuery_2_常规选择器1

JQuery最核心的组成部分就是:选择器引擎.它继承了css的语法,可以对DOM元素的标签名.属性名.状态等进行快速准确的选择. jQuery选择器的写法与CSS 选择器十分类似,只不过他们的功能不同.CSS找到元素后添加的是单一的样式,而 jQuery则添加的是动作行为. 简单选择器: 标签选择器      $("div")       获取所有div的DOM对象 div{ color:blue; } $("div").css("color",

jQuery_第四章_选择器

jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div") 选择所有的div标签元素,返回div元素数组 $(".myClass") 选择使用myClass类的css的所有元素 $("*") 选择文档中的所有的元素,可以运用多种的选择方式进行