九大选择器都是用来查找元素节点的。JQuery给我提供了九中类型的选择器。

1. 基本选择器
 基本选择器是JQuery最常用的选择器,也是最简单的选择器,它通过元素id、class和标签名来查找DOM元素(在网页中id只能使用一次,class允许重复使用)。所谓的网页中id只能使用一次的意思是说,一个网页中的id是不可以重复的,也就是具有唯一性。

 、#id
用法: $("#myDiv"); 返回值 单个元素的组成的集合
说明: 这个就是直接选择html中的id="myDiv" 、Element
用法: $("div") 返回值 集合元素
说明: element的英文翻译过来是”元素”,所以element其实就是html已经定义的标签元素,例如div,
input, a等等. 、class
用法: $(".myClass") 返回值 集合元素
说明: 这个标签是直接选择html代码中class="myClass"的元素或元素组(因为在同一html页面中
class是可以存在多个同样值的) 、*
用法: $("*") 返回值 集合元素
说明: 匹配所有元素,多用于结合上下文来搜索 、selector1, selector2, selectorN
用法: $("div,span,p.myClass") 返回值 集合元素
说明: 将每一个选择器匹配到的元素合并后一起返回.你可以指定任意多个选择器, 并将匹配到的元素合
并到一个结果内。其中p.myClass是表示匹配元素
p class="myClass"

2. 层级选择器 
 只有这个方法返回的是JQuery对象才能进行链式操作。如果想通过 DOM 元素之间的层次关系来获取特定元素, 例如后代元素, 子元素, 相邻元素, 兄弟元素等, 则需要使用层次选择器。

  、ancestor descendant
用法: $("form input") ; 返回值 集合元素
说明: 在给定的祖先元素下匹配所有后代元素.这个要和"arent > child"区分开。
祖先元素中查找,包含子元素和子元素的子元素。 、parent > child
用法: $("form > input") ; 返回值 集合元素
说明: 在给定的父元素下匹配所有子元素。注意:要区分好后代元素与子元素
父元素中查找,只包含子元素,不包含子元素的子元素。 、prev + next
用法: $("label + input") ; 返回值 集合元素
说明: 匹配所有紧接在 prev 元素后的 next 元素 、prev ~ siblings
用法: $("form ~ input") ; 返回值 集合元素
说明: 匹配 prev 元素之后的所有 siblings 元素.注意:是匹配之后的元素,不包含该元素在内,并且JQuery的siblings方法匹配的是和prev同辈的元素,其后辈元素不被匹配.
注意: ("prev ~ div") 选择器只能选择 "# prev"元素后面的同辈元素; 而 jQuery 中的方法 siblings() 与前后位置无关, 只要是同辈节点就可以选取

3. 过滤选择器
 找到一堆页面元素,我们可以对这些元素加过滤条件,找到我们想要的这些元素,然后进行过滤。通过特定的过滤规则来筛选出所需的 DOM 元素, 该选择器都以 “:” 开头。
 按照不同的过滤规则, 过滤选择器可以分为基本过滤, 内容过滤, 可见性过滤, 属性过滤, 子元素过滤和表单对象属性过滤选择器。

<1>基础过滤选择器

 、:first

 用法: $("tr:first") ;   返回值  单个元素的组成的集合
说明: 匹配找到的第一个元素 、:last 用法: $("tr:last") 返回值 集合元素
说明: 匹配找到的最后一个元素.与 :first 相对应. 、:not(selector) 用法: $("input:not(:checked)") 返回值 集合元素
说明: 去除所有与给定选择器匹配的元素.有点类似于”非”,意思是没有被选中的input(当input的
type=”checkbox”). 、:even 用法: $("tr:even") 返回值 集合元素
说明: 匹配所有索引值为偶数的元素,从0开始计数.js的数组都是从0开始计数的.例如要选择table中的行,因为是从0开始计数,所以table中的第一个tr就为偶数0. 、:odd 用法: $("tr:odd") 返回值 集合元素
说明: 匹配所有索引值为奇数的元素,和:even对应,从 开始计数 、:eq(index) 用法: $("tr:eq(0)") 返回值 集合元素
说明: 匹配一个给定索引值的元素.eq()就是获取第一个tr元素.括号里面的是索引值,不是元素排列数 、:gt(index) 用法: $("tr:gt(0)") 返回值 集合元素
说明: 匹配所有大于给定索引值的元素 、:lt(index) 用法: $("tr:lt(2)") 返回值 集合元素
说明: 匹配所有小于给定索引值的元素 、:header(固定写法) 用法: $(":header").css("background", "#EEE") 返回值 集合元素
说明: 匹配如 h1, h2, h3之类的标题元素.这个是专门用来获取h1,h2这样的标题元素 、:animated(固定写法) 返回值 集合元素
说明: 匹配所有正在执行动画效果的元素

<2>内容过滤选择器 
 内容过滤选择器的过滤规则主要体现在它所包含的子元素和文本内容上。

 、:contains(text)
用法: $("div:contains('John')") 返回值 集合元素
说明: 匹配包含给定文本的元素.这个选择器比较有用,当我们要选择的不是dom标签元素时,它就派上
了用场了,它的作用是查找被标签”围”起来的文本内容是否符合指定的内容的。 、:empty
用法: $("td:empty") 返回值 集合元素
说明: 匹配所有不包含子元素或者文本的空元素。 、:has(selector)
用法: $("div:has('.mini')")返回值 集合元素
说明: 匹配含有选择器所匹配的元素的元素。 、:parent
用法: $("td:parent") 返回值 集合元素
说明: 匹配含有子元素或者文本的元素.注意:这里是":parent”,可不是".parent”!感觉与上面讲的”:empty”形成反义词。

<3>可见度过滤选择器 
 可见度过滤选择器是根据元素的可见和不可见状态来选择相应的元素。

 、:hidden
用法: $(”tr:hidden”) 返回值 集合元素
说明: 匹配所有的不可见元素,input 元素的 type 属性为 “hidden” 的话也会被匹配到。
意思是css中display:none和input type="hidden"的都会被匹配到.同样,要在脑海中彻底分清楚冒
号":", 点号"."和逗号","的区别。
、:visible
用法: $("tr:visible") 返回值 集合元素
说明: 匹配所有的可见元素

<4>属性过滤选择器 
属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素。

 、[attribute]
用法: $("div[id]") ; 返回值 集合元素
说明: 匹配包含给定属性的元素。例子中是选取了所有带”id”属性的div标签。 、[attribute=value]
用法: $("input[name='newsletter']").attr("checked", true); 返回值 集合元素
说明: 匹配给定的属性是某个特定值的元素.例子中选取了所有 name 属性是 newsletter 的 input 元素。 、[attribute!=value]$("div[title!='test']").css("background","yellow");
用法: $(”input[name!='newsletter']“).attr("checked", true); 返回值 集合元素 说明: 匹配所有不含有指定的属性,或者属性不等于特定值的元素。
此选择器等价于:not此选择器等价于:not([attr=value]),要匹配含有特定属性但不等于特定值的元素,请使用[attr]:not([attr=value])。之前看到的:not 派上了用场。 、[attribute^=value]
用法: $(”input[name^=‘news’]“) 返回值 集合元素
说明: 匹配给定的属性是以某些值开始的元素.,我们又见到了这几个类似于正则匹配的符号。 、[attribute$=value]
用法: $("input[name$='letter']") 返回值 集合元素
说明: 匹配给定的属性是以某些值结尾的元素。 、[attribute*=value]
用法: $("input[name*='man']") 返回值 集合元素
说明: 匹配给定的属性是以包含某些值的元素。 、[attributeFilter1][attributeFilter2][attributeFilterN]
用法: $("input[id][name$='man']") 返回值 集合元素
说明: 复合属性选择器,需要同时满足多个条件时使用.又是一个组合,这种情况我们实际使用的时候很常
用.这个例子中选择的是所有含有 id 属性,并且它的 name 属性是以 man 结尾的元素。

<5>子元素过滤选择器

 、:nth-child(index/even/odd/equation)$("div[class=one] :nth-child(2)").css("background","yellow");
用法: $("ul li:nth-child(2)") 返回值 集合元素
说明: 匹配其父元素下的第N个子或奇偶元素.这个选择器和之前说的基础过滤(Basic Filters)中的
eq() 有些类似,不同的地方就是前者是从0开始,后者是从1开始。 、:first-child$("div[class=one] :first-child")
用法: $("ul li:first-child") 返回值 集合元素
说明: 匹配第一个子元素。':first' 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素。这里需要特别点的记忆下区别。 、:last-child
用法: $("ul li:last-child") 返回值 集合元素
说明: 匹配最后一个子元素.':last'只匹配一个元素,而此选择符将为每个父元素匹配一个子元素。 、: only-child
用法: $("ul li:only-child") 返回值 集合元素
说明: 如果某个元素是父元素中唯一的子元素,那将会被匹配。如果父元素中含有其他元素,那将不会被匹配。意思就是:只有一个子元素的才会被匹配!

<6>表单对象属性过滤选择器 
 此选择器主要对所选择的表单元素进行过滤。

 、:enabled
用法: $("input:enabled") 返回值 集合元素
说明: 匹配所有可用元素。意思是查找所有input中不带有disabled="disabled"的input。不为
disabled,当然就为enabled。 、:disabled
用法: $("input:disabled") 返回值 集合元素
说明: 匹配所有不可用元素。与上面的enable是相对应的。 、:checked
用法: $("input:checked") 返回值 集合元素
说明: 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)。这话说起来有些绕口。 、:selected
用法: $(”select option:selected”) 返回值 集合元素
说明: 匹配所有选中的option元素.$("select>option:selected")

<7>表单选择器

 、:input

 用法: $(":input") ;   返回值  集合元素
说明:匹配所有 input, textarea, select 和 button 元素。 、:text 用法: $(":text") ; 返回值 集合元素
说明: 匹配所有的单行文本框。 、:password 用法: $(":password") ; 返回值 集合元素
说明: 匹配所有密码框。 、:radio 用法: $(":radio") ; 返回值 集合元素
说明: 匹配所有单选按钮。 、:checkbox 用法: $(":checkbox") ; 返回值 集合元素
说明: 匹配所有复选框。 、:submit 用法: $(":submit") ; 返回值 集合元素
说明: 匹配所有提交按钮. 、:image 用法: $(":image") 返回值 集合元素
说明: 匹配所有图像域。 、:reset 用法: $(":reset") ; 返回值 集合元素
说明: 匹配所有重置按钮。 、:button 用法: $(":button") ; 返回值 集合元素
说明: 匹配所有按钮.这个包括直接写的元素button。 、:file 用法: $(":file") ; 返回值 集合元素
说明: 匹配所有文件域。 、:hidden 用法: $("input:hidden") ; 返回值 集合元素
说明: 匹配所有不可见元素,或者type为hidden的元素.这个选择器就不仅限于表单了,除了匹配input中的hidden外,那些style为hidden的也会被匹配。

注意:要选取input中为hidden值的方法就是上面例子的用法,但是直接使用 “:hidden” 的话就是匹配页面中所有的不可见元素,包括宽度或高度为0的。

JQuery九大选择器的更多相关文章

  1. jQuery九大选择器和jQuery对ajax的支持

    一.jQuery九大选择器 1)基本选择器: <body> <div id="div1ID">div1</div> <div id=&qu ...

  2. jquery九大选择器的用法举例

    1:基本选择器 改变 id 为 one 的元素的背景色为 #0000FF" $("#one").css("background","#000 ...

  3. 23、jQuery九类选择器/jQuery常用Method-API/jQuery常用Event-API

      1)掌握jQuery九类选择器及应用 2)掌握jQuery常用Method-API 3)掌握jQuery常用Event-API 一)jQuery九类选择器[参见jQueryAPI.chm手册] 目 ...

  4. JQuery_九大选择器

    JQuery_九大选择器-----https://blog.csdn.net/pseudonym_/article/details/76093261

  5. jQuery九类选择器详解

    (1)基本选择器 <body> <div id="div1ID">div1</div> <div id="div2ID" ...

  6. jQuery九类选择器

    目的:通过选择器,能定位web页面(HTML/JSP/XML)中的任何标签, 注意:项目中,通常是多种选择器一起使用 基本选择器 <html> <head> <meta ...

  7. jquery datepicker-强大的日期控件

    在web开发中,总会遇到需要用户输入日期的情况.一般都是提供一个text类型的input供用户输入日期.然而,这种方式,开发人员必须对用户输入的日期进行验证,判断其合法性.除此之外,让用户输入日期也是 ...

  8. 24款最好的jQuery日期时间选择器插件

    如果你正在创建一个网络表单,有很多事情你需要在你的应用程序中使用.有时您需要特别的输入,从用户的日期和时间,如发票日期,生日,交货时间,或任何其他此类信息.如果你有这样的需要,可以极大地从动态的jQu ...

  9. jQuery基础---常规选择器

    内容摘要: 1.简单选择器 2.进阶选择器 3.高级选择器 发文不易,转载请注明出处! jQuery 最核心的组成部分就是:选择器引擎.它继承了 CSS 的语法,可以对 DOM 元素的标签名.属性名. ...

随机推荐

  1. Socket 编程IO Multiplexing

     Linux Socket 编程中I/O Multiplexing 主要通过三个函数来实现:select, poll,epoll来实现.I/O Multiplexing,先构造一张有关描述符的列表,然 ...

  2. SQL Server 中断开连接到指定数据库的所有连接

    常用的情形是在部署测试数据库时需要通过SQL代码自动重新创建数据库,在删除的时候往往会发生错误,错误信息一般会指出目前有用户连接到这个数据库上,因此不能删除. 实现的方式是通过查询指定数据库中活跃的 ...

  3. JAVA开发总结

    1.Float取整 long warning; float fwarning = 0f; fwarning = total*0.34/100; warning = new Float(fwarning ...

  4. gradle 配置及设置本地仓库

    安装Gradle 从官方网站下载安装包,解压到目录 设置环境变量 GRADLE_HOME=D:\gradle\gradle-3.4.1 PATH=;%GRADLE_HOME%\bin 设置本地仓库目录 ...

  5. JDK5.0特性-线程 Callable和Future

    来自:http://www.cnblogs.com/taven/archive/2011/12/17/2291466.html import java.util.concurrent.Callable ...

  6. soapui not supported the auto complete

    http://forum.soapui.org/viewtopic.php?t=19850 syntax highlighting or content assist inside soapUI? t ...

  7. Axure 富文本框

    百度网盘:http://pan.baidu.com/s/1c1ZjUPq

  8. 常见pip方法

    pip search 包名   查询 pip install  包名   安装包 pip show--files 包名 pip list --outdated  检查哪些包需要更新 pip insta ...

  9. Naive Bayes Classifier 朴素贝叶斯分类器

    贝叶斯分类器的分类 根据实际处理的数据类型, 可以分为离散型贝叶斯分类器和连续型贝叶斯分类器, 这两种类型的分类器, 使用的计算方式是不一样的. 贝叶斯公式 首先看一下贝叶斯公式 $ P\left ( ...

  10. 解决CSS的position:absolute中left效果

    有时候css中设置了position:absolute,left:100px,但是如果我们不想要这个left怎么办呢,当然你直接删除就可以,但是如果是框架的css,你直接删除就有问题了,这时候该怎么办 ...