详解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 行级解析读取XML文件(附源码)
Oct 12 Javascript
JavaScript 基础篇(一)
Mar 30 Javascript
jquery 提示信息显示后自动消失的具体实现
Dec 18 Javascript
jQuery使用ajaxSubmit()提交表单示例
Apr 04 Javascript
Javascript中的五种数据类型详解
Dec 26 Javascript
JavaScript 拖拽实例代码
Sep 21 Javascript
vue router学习之动态路由和嵌套路由详解
Sep 21 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
Jan 12 Javascript
Electron-vue脚手架改造vue项目的方法
Oct 22 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
Sep 26 Javascript
JavaScript Event Loop相关原理解析
Jun 10 Javascript
Javascript新手入门之字符串拼接与变量的应用
Dec 03 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
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
php中的动态调用实例分析
2015/01/07 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
JTrackBar水平拖动效果
2007/07/15 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
vue.js中$set与数组更新方法
2018/03/08 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
2019/03/26 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
python实现清屏的方法
2015/04/30 Python
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python hashlib模块用法实例分析
2018/06/12 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
python做接口测试的必要性
2019/11/20 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
python求前n个阶乘的和实例
2020/04/02 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
超级实用的8个Python列表技巧
2020/08/24 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
物业公司采购员岗位职责
2013/12/31 职场文书
社会实践的活动方案
2014/08/22 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
三下乡活动心得体会
2016/01/23 职场文书
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技