详解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 相关文章推荐
Jquery 1.42 checkbox 全选和反选代码
Mar 27 Javascript
基于Jquery实现的一个图片滚动切换
Jun 21 Javascript
裁剪字符串trim()自定义改进版
Apr 10 Javascript
使用JavaScript开发IE浏览器本地插件实例
Feb 18 Javascript
JavaScript中的fontsize()方法使用详解
Jun 08 Javascript
如何屏蔽防止别的网站嵌入框架代码
Aug 24 Javascript
用move.js库实现百叶窗特效
Feb 08 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
Mar 08 Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
简单说说angular.json文件的使用
Oct 29 Javascript
react配置antd按需加载的使用
Feb 11 Javascript
node创建Vue项目步骤详解
Mar 06 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
Chrome Web App开发小结
2014/09/04 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
thinkphp项目如何自定义微信分享描述内容
2017/02/20 PHP
JavaScript跨域方法汇总
2014/10/16 Javascript
jQuery常用且重要方法汇总
2015/07/13 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
2019/10/31 Javascript
js实现简单点赞操作
2020/03/17 Javascript
介绍Python中内置的itertools模块
2015/04/29 Python
Python 将RGB图像转换为Pytho灰度图像的实例
2017/11/14 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
django drf框架自带的路由及最简化的视图
2019/09/10 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
2020/02/07 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
松本清官方海外旗舰店:日本最大的药妆连锁店
2017/11/21 全球购物
莫斯科隐形眼镜网上商店:Linzi
2019/07/22 全球购物
会计学应届毕业生推荐信
2013/11/04 职场文书
会计助理的岗位职责
2013/11/29 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
物业品质提升方案
2014/06/08 职场文书
企业文化口号
2014/06/12 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
教学副校长工作总结
2015/08/13 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
python获取对象信息的实例详解
2021/07/07 Python
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python