详解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 相关文章推荐
28个JS验证函数收集
Mar 02 Javascript
kmock javascript 单元测试代码
Feb 06 Javascript
基于JavaScript自定义构造函数的详解说明
Apr 24 Javascript
60个很实用的jQuery代码开发技巧收集
Dec 15 Javascript
javascript实现左右控制无缝滚动
Dec 31 Javascript
jquery让指定的元素闪烁显示的方法
Mar 17 Javascript
JavaScript 对象深入学习总结(经典)
Sep 29 Javascript
jQuery插件ajaxFileUpload异步上传文件
Oct 19 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
Mar 28 Javascript
mpvue 单文件页面配置详解
Dec 02 Javascript
如何在微信小程序中使用骨架屏的步骤
Jun 12 Javascript
如何利用node转发请求详解
Sep 17 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一些常用的正则表达式字符的一些转换
2008/07/29 PHP
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
jquery+thinkphp实现跨域抓取数据的方法
2016/10/15 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
2013/01/25 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
es6新特性之 class 基本用法解析
2018/05/05 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
用python实现批量重命名文件的代码
2012/05/25 Python
详解Python中break语句的用法
2015/05/14 Python
Python实现简单的文本相似度分析操作详解
2018/06/16 Python
python实现flappy bird小游戏
2018/12/24 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
酒店大堂副理的职责范文
2014/02/13 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js