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 相关文章推荐
javascript indexOf函数使用说明
Jul 03 Javascript
Javascript remove 自定义数组删除方法
Oct 20 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
Apr 09 Javascript
Javascript基础 函数“重载” 详细介绍
Oct 25 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
Jan 24 Javascript
7个jQuery最佳实践
Jan 12 Javascript
JQuery ztree带筛选、异步加载实例讲解
Feb 25 Javascript
JS从一组数据中找到指定的单条数据的方法
Jun 02 Javascript
微信小程序 石头剪刀布实例代码
Jan 04 Javascript
关于react中组件通信的几种方式详解
Dec 10 Javascript
又拍云 Node.js 实现文件上传、删除功能
Oct 28 Javascript
vue项目中将element-ui table表格写成组件的实现代码
Jun 12 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中的比较运算符详解
2013/10/28 PHP
php常用字符函数实例小结
2016/12/29 PHP
做网页的一些技巧
2007/02/01 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
JQuery的ON()方法支持的所有事件罗列
2015/02/28 Javascript
JavaScript数据推送Comet技术详解
2016/04/07 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
es6函数中的作用域实例分析
2020/04/18 Javascript
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python的Flask框架中的Jinja2模板引擎学习教程
2016/06/30 Python
python递归法解决棋盘分割问题
2019/07/17 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
意大利在线药房:Saninforma
2021/02/11 全球购物
Ibatis的核心配置文件都有什么
2014/09/08 面试题
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
2014/03/05 面试题
医学生个人求职信范文
2013/09/24 职场文书
公司门卫管理制度
2014/02/01 职场文书
学雷锋活动总结报告
2014/06/26 职场文书
创业开店,这样方式更合理
2019/08/26 职场文书
Spring Boot 实现 WebSocket
2022/04/30 Java/Android