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 相关文章推荐
excel操作之Add Data to a Spreadsheet Cell
Jun 12 Javascript
js中onload与onunload的使用示例
Aug 25 Javascript
tangram框架响应式加载图片方法
Nov 21 Javascript
Javascript 按位取反运算符 (~)
Feb 04 Javascript
js实现String.Fomat的实例代码
Sep 02 Javascript
Ionic3 UI组件之autocomplete详解
Jun 08 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
Sep 26 Javascript
简述Angular 5 快速入门
Nov 04 Javascript
你应该了解的JavaScript Array.map()五种用途小结
Nov 14 Javascript
微信小程序实现电子签名并导出图片
May 27 Javascript
在vue中给后台接口传的值为数组的格式代码
Nov 12 Javascript
vue如何在data中引入图片的正确路径
Jun 05 Vue.js
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/06/08 PHP
PHP修改session_id示例代码
2014/01/08 PHP
php session的锁和并发
2016/01/22 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
浅谈Javascript变量作用域问题
2014/12/16 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
2016/11/02 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
python读写二进制文件的方法
2015/05/09 Python
Python Matplotlib库入门指南
2015/05/18 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
Python3 requests模块如何模仿浏览器及代理
2020/06/15 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
学校门卫工作职责
2013/12/07 职场文书
2014银行领导班子群众路线对照检查材料思想汇报
2014/09/17 职场文书
工作失职检讨书
2015/01/26 职场文书
工作检讨书大全
2015/01/26 职场文书
求职推荐信范文
2015/03/27 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
2021/08/23 HTML / CSS