jQuery 选择器详解


Posted in Javascript onJanuary 19, 2015

$()函数在很多JavaScript类库中都被作为一个选择器函数来使用,在jQuery中就是.

$(“#id”)通过id来获取元素,用来代替document.getElementById()函数.

$(“tagName”)通过标签名来获取元素,用来代替document.getElementsByTagName()函数.

jQuery的基本语法是:$(selector).action(), selector即选择器.

jQuery选择器的分类

jQuery的选择器基本可以分为四大类:

基本选择器(basic)

层次选择器(level)

过滤选择器(filter)

表单选择器(form)

有些类别又可以分为具体的子类别.

基本选择器

jQuery 选择器详解

* 匹配所有元素.示例:$(“*")选取所有元素.

#id根据给定的id匹配元素(最多只返回一个元素).示例: $("#lastname”)选取id="lastname"的元素.

.class根据给定的类名匹配元素.示例:$(".intro”)选取所有class=“intro"的元素.

element根据给定的元素名匹配元素.示例: $(“p")选取所有<p>元素.

.class.class 示例: $(".intro.demo”)选取所有且class="demo”的元素.(交集).

selector1, selector2, …, selectorN, 将每一个选择器匹配到的元素合并后一起返回.(并集).

除了#id选择器返回单个元素外,其他选择器返回的都是元素集合.

这是因为HTML规范里面id应该是唯一的,所以重复id的元素没有被考虑.

如果多个元素的id相同,取这个id也只能获取第一个元素.即获取的jQuery对象的length属性是1.

如果要匹配的元素不存在,则都返回一个空的jQuery对象.

     基本选择器之间可以组合,用逗号分隔,结果取所有条件的结果的并集.

当没有用逗号分隔时,应该是所有条件都满足的交集.

层次选择器

jQuery 选择器详解

$(“ancestor descendant”) 选取ancestor元素里的所有descendant后代元素,包括直接子元素和更深嵌套的后代元素.

例:$(“div span”)选取<div>里的所有的<span>元素.

注意:选择器都是全页面扫描,返回一个集合,所有符合选择条件的元素都会被包括进去.所以多个<div>下面的<span>都会被选择.

$(“parent>child”)选取parent元素下的child子元素,即只有直接子元素被选取.其他后代元素不包括.

例:$(“div>span”)选取<div>元素下元素名是<span>的子元素.

$(“prev+next”)选取紧接在prev元素后的next元素(同一层级).

例:$(“.one+div”)选取class为one的下一个div元素.

$(“prev+siblings”)选取prev元素之后的所有siblings元素(同一层级).

例:$(“#two~div”)选取id为two的元素后面的所有<div>兄弟元素.

等价方法:

$(“prev+next”)等价于方法$(“prev”).next(“next”);选取prev元素之后紧接着的一个next元素.

$(“prev~sublings”)等价于方法$(“prev”).nextAll(“sublings”),选取prev元素之后的所有同级的sublings元素.

而$(“prev”).sublings(“next”)方法选取与prev同辈的所有next元素,与前后位置无关.

过滤选择器

过滤选择器这个大类又分为六个子类:

基本过滤;内容过滤;可见性过滤;属性过滤;子元素过滤;表单对象属性过滤.

基本过滤

jQuery 选择器详解

gt和lt分别是greaterthan和lessthan.

jQuery 选择器详解

内容过滤

jQuery 选择器详解

可见性过滤

jQuery 选择器详解

属性过滤

jQuery 选择器详解

属性过滤是用方括号来标识的.

注意多个属性过滤选择器连在一起的时候,取的是结果的交集.

子元素过滤

jQuery 选择器详解

前面基本过滤选择器里面index是从0算起的,这里子元素过滤选择器的index是从1开始算起的.

表单对象属性过滤

jQuery 选择器详解

表单选择器

jQuery 选择器详解

Javascript 相关文章推荐
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
Jun 26 Javascript
关于jquery动态增减控件的一些想法和小插件
Aug 01 Javascript
Jquery 切换不同图片示例代码
Dec 05 Javascript
html5 canvas js(数字时钟)实例代码
Dec 23 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
May 08 Javascript
js判断文本框输入的内容是否为数字
Dec 23 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
Apr 10 Javascript
BootstrapValidator实现表单验证功能
Nov 08 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
Dec 17 Javascript
ssm+vue前后端分离框架整合实现(附源码)
Jul 08 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
Feb 07 Javascript
JS如何使用剪贴板操作Clipboard API
May 17 Javascript
jQuery使用之标记元素属性用法实例
Jan 19 #Javascript
jQuery应用之jQuery链用法实例
Jan 19 #Javascript
浅谈Unicode与JavaScript的发展史
Jan 19 #Javascript
jQuery中ready事件用法实例
Jan 19 #Javascript
jQuery中offsetParent()方法用法实例
Jan 19 #Javascript
jQuery中outerWidth()方法用法实例
Jan 19 #Javascript
javascript数据类型示例分享
Jan 19 #Javascript
You might like
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
PHP中array_map与array_column之间的关系分析
2014/08/19 PHP
wampserver改变默认网站目录的办法
2015/08/05 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
摘自百度的图片轮换效果代码
2007/11/19 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
jquery 字符串切割函数substring的用法说明
2014/02/11 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
vue登录路由验证的实现
2017/12/13 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
JavaScript定时器使用方法详解
2020/03/26 Javascript
python正则实现提取电话功能
2018/02/24 Python
python requests.post带head和body的实例
2019/01/02 Python
实例详解Python装饰器与闭包
2019/07/29 Python
python3 map函数和filter函数详解
2019/08/26 Python
tensorflow多维张量计算实例
2020/02/11 Python
Python中Selenium库使用教程详解
2020/07/23 Python
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
大码女装:Ulla Popken
2019/08/06 全球购物
vue项目实现分页效果
2021/03/24 Vue.js
酒店管理专业学生求职信
2013/09/27 职场文书
保护动物的标语
2014/06/11 职场文书
学习雷锋月活动总结
2014/07/03 职场文书
高中生旷课检讨书
2014/10/08 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
运动会加油稿20字
2014/11/15 职场文书
2015年业务员工作总结范文
2015/04/07 职场文书
行政前台岗位职责
2015/04/16 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
浅谈Python中的正则表达式
2021/06/28 Python