jQuery温习篇 强大的JQuery选择器


Posted in Javascript onApril 24, 2010

在jQuery出世以来,它取得很大的成就和认同。JQuery是一个轻量级的JavaScript框架,它的发布版很小仅16K左右。它能让你方便简洁的写出漂亮的动画效果、实现各种视觉效果,轻松的处理JavaScript的DOM数以及Ajax的交互行为。它的优点在于轻量级、简单易学、易扩展、跨浏览器和网上拥有大量的jQuery插件使用。由于它这一大堆的优点,它已经被微软官方认可加入VS IDE中拥有强大的智能提示,并据官方的统计现在至少有20%的国际性大网站已经加入jQuery作为其脚本。

1:首先是JavaScript的DOM 和 jQuery包装集的区分


1.1:在JavaScript中我们访问的方式是操作DOM结构,提供的可用方法有:

1: document.getElementById("ID"):根据ID获取DOM对象。

2:document.getElementsByName("name"):根据HTML标记name属性获取一个DOM数组。

3:document.getElementsByTagName("Tag"):根据HTML的Tag获取一个DOM数组。

1.2:jQuery相对DOM则提供了许多可用的方法和属性。

jQuery简单的获取对象有$(“#id”) ,$(“.class”),$(“tag”)方式,它的书写方式和css3.0相似 id用#,class(css)用.,HTMl Tag则直接书写。关于jquery的选择器在下面讲述,这里不急。         

1.3:JavaScript的DOM对象转可以化为jQuery包装集:通过$(element)赴会就为jQuery包装集。

 

2:jQuery最强大的就是提供了一个万能的属性选择器。


2.1基本选择器
选择表达式 说明 举例
#id 根据给定的ID匹配一个元素用# $("#testDiv2")  获取ID为testDiv2的元素
.class 根据给定的类匹配元素(也就是取class的值)用. $(".myDiv")    获取class为myDiv的一组元素
element 根据给定的元素名匹配所有元素,直接写上元素名例如(p,a,input,div等) $("div")    获取所有的div元素
selector1,selector2,selectorN 将每一个选择器匹配到的元素合并后一起返回,选择器可以是id,class,element用,隔开 $("#testDiv2,p") $("p,span,div.myDiv") 获取所有的p,span和class为myDiv的元素
* 选择所有的元素 $("*")

2.2简单选择器

选择表达式 说明 举例
:first 匹配找到的第一个元素 $("div:first")
:last 匹配找到的最后一个元素 $("div:last")
:eq(index) 匹配一个给定索引值的元素,当然要存在才可以找得到,索引从0开始 $("div:eq(1)")
:gt(index) 匹配所有大于给定索引值的元素 $("div:gt(0)")    查找第1个以后的元素
:lt(index) 匹配所有小于给定索引值的元素 $("div:lt(2)")     查找第一行和第二行的元素
:even 匹配所有索引值为偶数的元素,从 0 开始计数 $("div:even") 查找第1,3,5个div
:odd 匹配所有索引值为奇数的元素,从 0 开始计数 $("div:odd") 查找第2,4个div
:not(selector) 去除所有与给定选择器匹配的元素selector为表达式,可以是属性里面的一个值 $("input:not(:checked)") 查找所有未选中的input 元素[注 :checked为自定义筛选选择器,后面会讲到]
:header 匹配如 h1, h2, h3之类的标题元素 $(":header").css("background", "#EEE"); 添加样式
:animated 匹配所有正在执行动画效果的元素 暂无例子

3.3:内容选择器

选择表达式 说明 举例
:contains(text) 匹配包含给定文本的元素,只要里面出现即可 $("p:contains('段落')") 找带有段落字样的p元素
:empty 匹配所有不包含子元素或者文本的空元素 $("div:empty")
:has(selector) 匹配含有选择器所匹配的元素的元素 $("div:has('p')")
:parent 匹配含有子元素或者文本的元素 $("div:parent")

 

4.4子元素选择器

选择器 说明 举例
:first-child 匹配第一个子元素 $("ul li:first-child")//在每个 ul 中查找第一个 li
:last-child 匹配最后一个子元素 $("ul li:last-child")//在每个 ul 中查找最后一个 li
:nth-child(index/even/odd/equation) 匹配其父元素下的第N个子或奇偶元素 ':eq(index)' 只匹配一个元素,而这个将为每一个父元素匹配子元素。:nth-child从1开始的,而:eq()是从0算起的! 可以使用:nth-child(even)//偶数行:nth-child(odd)//奇数行:nth-child(3n):nth-child(2)//索引为2的:nth-child(3n+1):nth-child(3n+2) $("ul li:nth-child(2)")//在每个 ul 查找第 2 个li
:nth-child(index/even/odd/equation) 匹配其父元素下的第N个子或奇偶元素 $("ul li:nth-child(2)")//在每个 ul 查找第 2 个li
:only-child 如果某个元素是父元素中唯一的子元素,那将会被匹配 如果父元素中含有其他元素,那将不会被匹配。 $("ul li:only-child")//在 ul 中查找是唯一子元素的 li

4.5:可见性选择器

选择器 说明 举例
:hidden 匹配所有的不可见元素,input 元素的 type 属性为 "hidden" 的话也会被匹配到 $("div:hidden")
:visible 匹配所有的可见元素 $("div:visible")//元素来匹配$(".divH:visible")//根据class来匹配

例子就不用多讲了,大家对于jQuery应该都有一定的见地了。呵呵…

Javascript 相关文章推荐
(仅IE下有效)关于checkbox 三态
May 12 Javascript
面向对象Javascript核心支持代码分享
May 23 Javascript
jquery ajax修改全局变量示例代码
Nov 08 Javascript
jQuery 重复加载错误以及修复方法
Dec 16 Javascript
在Google 地图上实现做的标记相连接
Jan 05 Javascript
JS实现双击屏幕滚动效果代码
Oct 28 Javascript
JavaScript常用字符串与数组扩展函数小结
Apr 24 Javascript
jQuery插件扩展实例【添加回调函数】
Nov 26 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
Dec 21 Javascript
Bootstrap笔记—折叠实例代码
Mar 13 Javascript
详解如何为你的angular app构建一个第三方库
Dec 07 Javascript
JavaScript中this的全面解析及常见实例
May 14 Javascript
javascript 二分法(数组array)
Apr 24 #Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
Apr 24 #Javascript
JavaScript 比较时间大小的代码
Apr 24 #Javascript
google 搜索框添加关键字实现代码
Apr 24 #Javascript
javascript XMLHttpRequest对象全面剖析
Apr 24 #Javascript
javascript之AJAX框架使用说明
Apr 24 #Javascript
基于jquery的一个图片hover的插件
Apr 24 #Javascript
You might like
php 流程控制switch的简单实例
2016/06/07 PHP
详解Yii实现分页的两种方法
2017/01/14 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
jQuery中(function(){})()执行顺序的理解
2013/03/05 Javascript
jQuery图片的展开和收缩实现代码
2013/04/16 Javascript
AngularJS基础 ng-include 指令简单示例
2016/08/01 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
javascript中json基础知识详解
2017/01/19 Javascript
js 获取今天以及过去日期
2017/04/11 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
详解vue组件基础
2018/05/04 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
Python定时任务sched模块用法示例
2018/07/16 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
Python实现遗传算法(二进制编码)求函数最优值方式
2020/02/11 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
学生会离职感言
2014/02/11 职场文书
新闻发布会主持词
2014/03/28 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2014年副班长工作总结
2014/12/10 职场文书
地方课程教学计划
2015/01/19 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL