详解jQuery选择器


Posted in Javascript onDecember 21, 2016

大致介绍

终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery

jQuery是什么?

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设 计和Ajax交互。

jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。(来自百度-_-)

jQuery对象和DOM对象

我们在编写脚本时,可能会同时用到原生JavaScript和jQuery,那么这时就会存在一些问题。要解决这些问题就先得认识jQuery对象和DOM对象

DOM对象:通过例如getElementById方法获取到DOM树中的元素就是DOM对象

jQuery对象:通过jQuery包装DOM对象后产生的对象

注意:jQuery对象和DOM对象不能使用对方的任何方法

// 错误
 $('div').innerHTML;
 // 错误
 document.getELementsByTagName('div')[0].html(); 

jQuery对象和DOM对象是可以互相转化的

jQuery对象转成DOM对象有两种方法:

1、[index]

var $div = $('div');//jQuery对象
 var div = $div[0];//DOM对象

2、get(index)

var $div = $('div');//jQuery对象
 var div = $div.get(0);//DOM对象

DOM对象转成jQuery对象有一种方法:$(DOM对象)

var div = document.getELementsByTagName('div')[0];//DOM对象
 var $div = $(div);//jQuery对象

jQuery选择器

jQuery中的选择器完全继承了CSS的风格

详解jQuery选择器

逐一来看

基本选择器

改变id为div1的所有div的背景色

$('#div1').css('background','#bbffaa');

改变所有p标签和class为one的div的背景色

$('p,.one').css('background','#bbffaa');

层次选择器

选取div里的所有span元素

$('div span');

选取div下元素名是span的子元素

$('div > span');

选取class是one的下一个<div>同辈元素

$('.one + div');

选取class是one的后面的所有的<div>同辈元素

$('.one ~ div');

过滤选择器

1、基本过滤选择器

选取所有<div>元素中第一个<div>元素

$('div:first');

选取class不是one的<div>元素

$('div:not(.one)');

选取索引是偶数的的<div>元素

$('div:even');

选取索引等于2的<div>元素

$('div:eq(2)');

选取索引大于2的<div>元素

$('div:gt(2)');

选取所有标题元素,例如h1、h2等

$(':header');

选取当前正在执行动画的所有元素

$(':animated');

选取获取当前焦点的元素

$(':focus');

2、内容过滤选择器

选取含有文本“坚持”的<div>元素

$('div:contains('坚持')');

选取不包含子元素或者文本的<div>元素

$('div:empty');

选取含有<p>元素的<div>元素

$('div:has(p)');

选取含有子元素或者文本的元素

$('div:parent');

3、可见性过滤选择器

选取所有不可见的元素。包括<input type="hidden" />,<div style="display:none">和<div style="overflow:hidden">

$(':hidden');

选取所有可见的<div>元素

$('div:visible');

4、属性过滤选择器

选取有id属性的元素

$('div[id]');

选取id等于myId的<div>元素

$('div[id="myId"]');

选取id值不等于myId的<div>元素

$('div[id!="myId"]');

选取id值以my开头的<div>元素

$('div[id^="my"]');

选取id值以my结尾的<div>元素

$('div[id$="my"]');

选取id值含有my的<div>元素

$('div[id*="my"]');

选取属性title等于en或者以en为前缀(en后跟一个连字符'-')的元素

$('div[title|="en"]');

选取属性title中用空格分隔的值中包含字符en的<div>元素

$('div[title~="en"]');

选取拥有属性id并且属性title以en为前缀的<p>元素

$('p[id][title|="en"]');

5、子元素过滤器

选取每个class为one的<div>父元素下的第2个子元素

$('div.one :nth-child(2)');

选取每个class为one的<div>父元素下的第1个子元素

$('div.one :first-child');

选取<ul>中是唯一子元素的<li>元素

$('ul li:only-child');

6、表单对象属性过滤选择器

选取id为"form1"表单内的所有可用元素

$('#form1:enabled');

选取id为"form1"表单内的所有不可用元素

$('#form1:disabled');

选取所有被选中的<input>元素

$('input:checked');

选取所有被选中的选项元素

$('select option:selector');

表单选择器

选取所有的<input>、<textarea>、<select>和<button>元素

$(':input');

选取所有的单行文本框

$(':text');

选取所有的不可见的元素

 $(':hidden');

其余的选择方法都可以通过单词了解到意思(例如 :submit 就是选择所有的提交按钮)就不再赘述。

参考资料:锋利的jQuery(第二版) https://3water.com/books/92918.html

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

 

Javascript 相关文章推荐
js innerHTML 改变div内容的方法
Aug 03 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
May 04 Javascript
解决jquery版本冲突的有效方法
Sep 02 Javascript
AngularJS初始化静态模板详解
Jan 14 Javascript
JavaScript File API实现文件上传预览
Feb 02 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
Jul 25 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
Feb 14 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
Mar 17 Javascript
基于Vue过渡状态实例讲解
Sep 14 Javascript
jQuery简单判断值是否存在于数组中的方法示例
Apr 17 jQuery
jquery使用FormData实现异步上传文件
Oct 25 jQuery
js实现文字头像的生成代码
Mar 07 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
Dec 21 #Javascript
js实现可输入可选择的select下拉框
Dec 21 #Javascript
详解handlebars+require基本使用方法
Dec 21 #Javascript
JS实现的驼峰式和连字符式转换功能分析
Dec 21 #Javascript
JS实现的RGB网页颜色在线取色器完整实例
Dec 21 #Javascript
js querySelector() 使用方法
Dec 21 #Javascript
简单实现Vue的observer和watcher
Dec 21 #Javascript
You might like
php获取文件类型和文件信息的方法
2015/07/10 PHP
PHP面向对象程序设计之类与反射API详解
2016/12/02 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
php 判断IP为有效IP地址的方法
2018/01/28 PHP
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
jquery获取css中的选择器(实例讲解)
2013/12/02 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
2016/03/02 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
Vue组件化开发思考
2018/02/02 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
简洁的十分钟Python入门教程
2015/04/03 Python
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
使用tensorflow实现AlexNet
2017/11/20 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
伦敦一卡通:The London Pass
2018/11/30 全球购物
加拿大在线隐形眼镜和眼镜店:VisionPros
2019/10/06 全球购物
美国精品地毯网站:Boutique Rugs
2020/03/04 全球购物
医护人员英文求职信范文
2013/11/26 职场文书
药学专业学生的自我评价分享
2014/02/06 职场文书
学校门卫岗位职责
2014/03/16 职场文书
创先争优宣传标语
2014/10/08 职场文书
古诗之感恩老师
2019/10/24 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫