jQuery选择器

 
 

jQuery选择器

本文内容引自于单东林《锋利的jQuery》,未经原作者准许,禁止以商业目的转载发布!

选择器是jQuery的根基,在jQuery中,对事件处理、遍历DOM(Document Object Model)Ajax(Asynchronous JavaScript and XML)操作都依赖于选择器。


1 优势

1.1 简洁的写法

$()被jQuery作为选择器函数来使用。例如,$("#ID")用来代替document.getElementById()

1.2 支持CSS1到CSS3选择器

支持从CSS1~3的部分选择器,同时它也有少量独有的选择器。使用CSS选择器时,开发人员需要考虑主流浏览器是否支持某些选择器。而在jQuery中,开发人员则可以放心地使用jQuery选择器而无需考虑浏览器是否支持这些选择器

1.3 完善的处理机制

使用jQuery获取网页中不存在的元素也不会报错,例如:

<div>test</div>
<script type="text/javascript">
$('#tt').css("color", "red") // 这里无需判断$('#tt')是否存在
</script>

有了这个预防措施,即使以后因为某种原因删除网页上某个以前使用过的元素,也不用担心这个网页的JavaScript代码会报错。

2 CSS选择器和jQuery选择器

2.1 基本选择器

CSS jQuery 功能
#id $(“#test”) 选取id为test的元素
.class $(“.test”) 选取所有class为test的元素
element $(“p”) 选取所有的<p>元素
* $(“*”) 选取所有的元素
selector1,selector2,…selectorN $(“div,span,p.myClass”) 选取所有<div><span>和拥有class为myClass的<p>标签的一组元素

2.2 层次选择器

CSS jQuery 功能
E F $(“div span”) 选取<div>里所有的<span>元素
E>F $(“div>span”) 选取<div>元素下元素名是<span>的子元素
E+F $(“.one+div”) 选取class为one的下一个<div>同辈元素
E~F $(“#two~div”) 选取id为two的元素后面的所有<div>同辈元素

2.3 过滤选择器

2.3.1 基本过滤选择器

CSS jQuery 功能
:first $(“div:first”)  
:last $(“div:last”)  
:not(selector) $(“input:not(.myClass)”)  
:even $(“input:even”)  
:odd $(“input:odd”)  
:eq(index) :gt(index) :lt(index) $(“input:eq(1)”)  
:header $(“:header”) 选取所有的标题元素
:animated $(“div:animated”) 选取当前正在执行动画的所有元素
:focus $(“:focus”) 选取当前获取焦点的元素

2.3.2 内容过滤选择器

CSS jQuery
:contains(text) $(“div:contains(“text”)”)
:empty $(“div:empty”)
:has(selector) $(“div:has(p)”)
:parent $(“div:parent”)

2.3.3 可见性过滤选择器

CSS jQuery
:hidden $(“:hidden”)
:visible $(“div:visible”)

2.3.4 属性过滤选择器

CSS jQuery
[attribute] $(“div[id]”)
[attribute=value] $(“div[title=test]”)
[attribute!=value] $(“div[title!=test]”)
[attribute^=value] $ * | ~ $(“div[^=test]”)
[attr1][attr2][attrN] $(“div[id][title$=’test’”])

2.3.5 子元素过滤选择器

CSS jQuery
:nth-child(n) 同上
:first-child  
:last-child  
:only-child  

2.3.6 表单对象属性过滤选择器

CSS jQuery
:enabled 同上
:disabled  
:checked  
:selected  

2.4 表单选择器

CSS jQuery
:input  
:text  
:password  
:radio  
:checkbox  
:submit  
:image  
:reset  
:button  
:file  
:hidden  
 
 

【前端学习】【jQuery选择器】的更多相关文章

  1. 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器

    × 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...

  2. 深入学习jQuery选择器系列第八篇——过滤选择器之伪子元素选择器

    × 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 本文是子元素选择器的续篇,主要介绍关于nth-of-type()选择器的内容.该部分内容并非没有出现在<锋利的 ...

  3. 深入学习jQuery选择器系列第四篇——过滤选择器之属性选择器

    × 目录 [1]简单属性 [2]具体属性 [3]条件属性 前面的话 属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素,对应于CSS中的属性选择器.属性过滤选择器可分为简单属性选择器.具体属性选 ...

  4. 深入学习jQuery选择器系列第二篇——过滤选择器之子元素选择器

    × 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 在上一篇中已经介绍过基础选择器和层级选择器,本文开始介绍过滤选择器.过滤选择器是jQuery选择器中最为庞大也是最为 ...

  5. 【前端】jQuery选择器$()的实现原理

    今天三七互娱技术面试的时候面试官问了我这个问题,当时一脸懵逼,于是好好总结一下. 当我们使用jquery选择器的时候,$(s).回默认去执行jquery内部封装好的一个init的构造函数每次申明一个j ...

  6. 前端学习☞jquery

    一 什么是jQuery对象? jQuery 对象就是通过jQuery包装DOM对象后产生的对象.jQuery 对象是 jQuery 独有的. 如果一个对象是 jQuery 对象, 那么它就可以使用 j ...

  7. 深入学习jQuery选择器系列第七篇——表单选择器

    × 目录 [1]表单元素 [2]对象属性 前面的话 无论是提交还是传递数据,表单元素在动态交互页面的作用是非常重要的.jQuery专门加入了表单选择器,从而能够极其方便地获取到某个类型的表单元素 表单 ...

  8. 深入学习jQuery选择器系列第三篇——过滤选择器之索引选择器

    × 目录 [1]通用形式 [2]首尾索引 [3]奇偶索引[4]范围索引 前面的话 上一篇介绍了过滤选择器中的子元素选择器部分,本文开始介绍极易与之混淆的索引选择器 通用形式 $(':eq(index) ...

  9. 前端学习——JQuery Ajax使用经验

    0.前言     在项目推进过程中常常使用Ajax,通过Jquery提供的函数能够很方便的使用Ajax,可是在实际使用中也遇到一些问题,比如怎样防止浏览器使用缓存,怎样使用同步方式等.通过博文整理总结 ...

  10. 前端学习-jQuery

    老师博客:https://www.cnblogs.com/yuanchenqi/articles/6070667.html day43,day44 jquery 中文文档:http://jquery. ...

随机推荐

  1. iOS打包及发布

    本篇介绍iOS应用的发布流程:由于苹果的发布周期太长, 再介绍一个很好用的测试网站——蒲公英. iOS应用程序的发布和真机调试调试很像,也需要申请各类证书. 1.进入https://developer ...

  2. OC4_内存管理法则

    // // Dog.h // OC4_内存管理法则 // // Created by zhangxueming on 15/6/18. // Copyright (c) 2015年 zhangxuem ...

  3. 再说 extern "C"

    早知道 C++ 源文件中要调用C语言函数需要在函数申明时 指定extern "C": 要不然可以编译通过,但连接时提示找不到什么什么符号,原因是C和C++生成的函数名不一样,ext ...

  4. lex&yacc5--YYSTYPE

    yacc里的YYSTYPE默认是int型的,当然也可以勇%union来定义联合但是由于程序需要,我要将YYSTYPE定义为我自己定义的一个struct的指针然后作为一个全局变量,让lex在扫描的时候, ...

  5. [java学习笔记]java语言基础概述之函数的定义和使用&函数传值问题

    1.函数 1.什么是函数? 定义在类中的具有特定功能的一段独立小程序. 函数也叫做方法 2.函数的格式 修饰符   返回值类型    函数名(参数类型  形式参数1, 参数类型  形式参数2-) { ...

  6. android源码-安卓源码-Android源码下载-安卓游戏源码

    android源码   高仿精仿金山手机卫士应用源码V1.2 高仿精仿金山手机卫士应用源码,该应用的级别实现了金山卫士的级别功能了,可以说跟现实中我们使用的金山卫士应用的功能几乎差不 人气:9286  ...

  7. thinkphp3.2引入php 实例化类

    如果你的类库没有采用命名空间的话,需要使用import方法先加载类库文件,然后再进行实例化,例如:我们定义了一个Counter类(位于Com/Sina/Util/Counter.class.php): ...

  8. [DevExpress]ChartControl之创建X,Y轴Title示例

    关键代码: /// <summary> /// 设置X轴Title /// </summary> /// <param name="chart"> ...

  9. 在emacs里用w3m浏览网页

    给w3m配置个~/.emacs老是暴错误,在配置里把这个注掉就OK了;(require 'mime-w3m) ;;支持w3m (add-to-list 'load-path "/usr/sh ...

  10. 退出telnet

    telnet时,很多时候通过ctrl+c依然无法退出.可以采取下面的方式进行退出:  ctrl+],然后进入 telnet>,然后输入q或quit即可.