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 相关文章推荐
改进版通过Json对象实现深复制的方法
Oct 24 Javascript
深入解读JavaScript中的Iterator和for-of循环
Jul 28 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
Apr 28 Javascript
玩转NODE.JS(四)-搭建简单的聊天室的代码
Nov 11 Javascript
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
详解vue-cli之webpack3构建全面提速优化
Dec 25 Javascript
JS实现访问DOM对象指定节点的方法示例
Apr 04 Javascript
学习使用ExpressJS 4.0中的新Router的用法
Nov 06 Javascript
Node.js EventEmmitter事件监听器用法实例分析
Jan 07 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
Sep 03 Javascript
vue项目使用.env文件配置全局环境变量的方法
Oct 24 Javascript
JavaScript实现多球运动效果
Sep 07 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
php解析字符串里所有URL地址的方法
2015/04/03 PHP
PHP进程通信基础之信号
2017/02/19 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
javascript一些实用技巧小结
2011/03/18 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
2013/11/06 Javascript
当jQuery1.7遇上focus方法的问题
2014/01/26 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
python 合并文件的具体实例
2013/08/08 Python
python支持断点续传的多线程下载示例
2014/01/16 Python
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
django站点管理详解
2017/12/12 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
实例讲解python中的序列化知识点
2018/10/08 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
详解python变量与数据类型
2020/08/25 Python
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
大学运动会通讯稿
2014/01/28 职场文书
趣味游戏活动方案
2014/02/07 职场文书
党校学习心得体会范文
2014/09/09 职场文书
2014年机关后勤工作总结
2014/12/16 职场文书
2015年招生工作总结
2015/05/04 职场文书
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers