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 相关文章推荐
二行代码解决全部网页木马
Mar 28 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
Jun 19 Javascript
JS实现在状态栏显示打字效果完整实例
Nov 02 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
Aug 25 Javascript
jQuery实现的自定义弹出层效果实例详解
Sep 04 Javascript
JS实现鼠标移上去显示图片或微信二维码
Dec 14 Javascript
jQuery日期范围选择器附源码下载
May 23 jQuery
JS滚动到指定位置导航栏固定顶部
Jul 03 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
Jan 26 Javascript
vue通过点击事件读取音频文件的方法
May 30 Javascript
JavaScript中AOP的实现与应用
May 06 Javascript
js实现左右轮播图
Jan 09 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 xml实例 留言本
2009/03/20 PHP
phpmyadmin 访问被拒绝的真实原因
2009/06/15 PHP
网站用php实现paypal整合方法
2010/11/28 PHP
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
win7安装php框架Yii的方法
2016/01/25 PHP
php使用curl详细解析及问题汇总
2016/08/11 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
jquery实现文字由下到上循环滚动的实例代码
2013/08/09 Javascript
JS中attr和prop属性的区别以及优先选择示例介绍
2014/06/30 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
ReactRouter的实现方法
2021/01/25 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
Python学习笔记之常用函数及说明
2014/05/23 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
python3的输入方式及多组输入方法
2018/10/17 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
python数据抓取3种方法总结
2021/02/07 Python
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
canvas实现漂亮的下雨效果的示例
2018/04/18 HTML / CSS
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
开放系统互连参考模型
2016/06/29 面试题
大学生先进事迹材料
2014/02/16 职场文书
产品售后服务承诺书
2014/05/21 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
《山中访友》教学反思
2016/02/24 职场文书
MySQL创建管理LIST分区
2022/04/13 MySQL