在 Dom 编程中我们只能使用有限的函数根据 id 或者 TagName 获取 Dom 对象. 然而在 jQuery 中则完全不同,jQuery 提供了异常强大的选择器用来帮助我们获取页面上的对象, 并且将对象以 jQuery 包装集的形式返回。本文主要对常用的 jQuery 选择器进行一个介绍及归类。

  jQuery 选择器大体上可分为 4 类:基本选择器、层次选择器、过滤选择器、表单选择器。 其中过滤选择器可以分为:简单过滤选择器、内容过滤选择器、可见性过滤选择器、属性过滤选择器、子元素过滤选择器、表单对象属性过滤选择器。

基本选择器:

  • $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素
  • $("div")                     选择所有的div标签元素,返回div元素数组
  • $(".myClass")           选择使用myClass类的css的所有元素
  • $("*")                        选择文档中的所有的元素
  • 可以运用多种的选择方式进行联合选择:例如$("#myELement,div,.myclass")

层叠选择器:

  • $("form input")         选择所有的form元素中的input元素
  • $("#main > *")          选择id值为main的所有的子元素
  • $("label + input")     选择所有的label元素的下一个input元素节点
  • 经测试选择器返回的是label标签后面直接跟一个input标签的所有input标签元素
  • $("#prev ~ div")       同胞选择器
  • 该选择器返回的为id为prev的标签元素的所有的属于同一个父元素的div标签

基本过滤选择器:

  • $("tr:first")               选择所有tr元素的第一个
  • $("tr:last")                选择所有tr元素的最后一个
  • $("input:not(:checked) + span")
  • 过滤掉:checked的选择器的所有的input元素
  • $("tr:even")               选择所有的tr元素的第0,2,4... ...个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始)
  • $("tr:odd")                选择所有的tr元素的第1,3,5... ...个元素
  • $("td:eq(2)")             选择所有的td元素中序号为2的那个td元素
  • $("td:gt(4)")             选择td元素中序号大于4的所有td元素
  • $("td:ll(4)")              选择td元素中序号小于4的所有的td元素
  • $(":header")
  • $("div:animated")

内容过滤选择器:

  • $("div:contains('John')")  选择所有div中含有John文本的元素
  • $("td:empty")           选择所有的为空(也不包括文本节点)的td元素的数组
  • $("div:has(p)")        选择所有含有p标签的div元素
  • $("td:parent")          选择所有的以td为父节点的元素数组

可视化过滤选择器:

  • $("div:hidden")        选择所有的被hidden的div元素
  • $("div:visible")        选择所有的可视化的div元素

属性过滤选择器:

  • $("div[id]")              选择所有含有id属性的div元素
  • $("input[name='newsletter']")    选择所有的name属性等于'newsletter'的input元素
  • $("input[name!='newsletter']")  选择所有的name属性不等于'newsletter'的input元素
  • $("input[name^='news']")         选择所有的name属性以'news'开头的input元素
  • $("input[name$='news']")         选择所有的name属性以'news'结尾的input元素
  • $("input[name*='man']")          选择所有的name属性包含'news'的input元素
  • $("input[id][name$='man']")    可以使用多个属性进行联合选择,该选择器是得到所有的含有id属性并且那么属性以man结尾的元素

子元素过滤选择器:

  • $("ul li:nth-child(2)"),$("ul li:nth-child(odd)"),$("ul li:nth-child(3n + 1)")
  • $("div span:first-child")          返回所有的div元素的第一个子节点的数组
  • $("div span:last-child")           返回所有的div元素的最后一个节点的数组
  • $("div button:only-child")       返回所有的div中只有唯一一个子节点的所有子节点的数组

表单元素选择器:

  • $(":input")                  选择所有的表单输入元素,包括input, textarea, select 和 button
  • $(":text")                     选择所有的text input元素
  • $(":password")           选择所有的password input元素
  • $(":radio")                   选择所有的radio input元素
  • $(":checkbox")            选择所有的checkbox input元素
  • $(":submit")               选择所有的submit input元素
  • $(":image")                 选择所有的image input元素
  • $(":reset")                   选择所有的reset input元素
  • $(":button")                选择所有的button input元素
  • $(":file")                     选择所有的file input元素
  • $(":hidden")               选择所有类型为hidden的input元素或表单的隐藏域

表单元素过滤选择器:

  • $(":enabled")             选择所有的可操作的表单元素
  • $(":disabled")            选择所有的不可操作的表单元素
  • $(":checked")            选择所有的被checked的表单元素
  • $("select option:selected")  选择所有的select 的子元素中被selected的元素

你都掌握了吗?jQuery 选择器大全的更多相关文章

  1. jQuery选择器大全(48个代码片段+21幅图演示)

    选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器 的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编 ...

  2. 转:jQuery选择器大全(48个代码片段+21幅图演示)

    选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编写 ...

  3. JQuery选择器大全 前端面试送命题:面试题篇 对IOC和DI的通俗理解 c#中关于协变性和逆变性(又叫抗变)帮助理解

    JQuery选择器大全   jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement")    选择id值等于myElement的元素 ...

  4. jquery 选择器大全

    jquery 选择器大体上可分为4 类: 1.基本选择器 2.层次选择器 3.过滤选择器 4.表单选择器 其中过滤选择器可以分为: 1.简单过滤选择器 2.内容过滤选择器 3.可见性过滤选择器 4.属 ...

  5. jquery选择器大全参考

    在Dom 编程中我们只能使用有限的函数根据id 或者TagName 获取Dom 对象. 然而在jQuery 中则完全不同,jQuery 提供了异常强大的选择器用来帮助我们获取页面上的对象, 并且将对象 ...

  6. Jquery选择器大全、属性操作、css操作、文档、事件等

    一.简介   定义  jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库. jQuery对象  jQuery产 ...

  7. jQuery 选择器大全总结

    jQuery基础语法中规定的选择器有三种,分别是类选择器.ID选择器.标签选择器.如:$(“.aa”).$(“#id”).$(“div”),但中实际的应用中,DOM机构非常复杂,层级非常多.如和应对这 ...

  8. jQuery选择器大全整理

    一.选择网页元素 $(document) //选择整个文档对象 $('#myId') //选择ID为myId的网页元素 $('div.myClass') // 选择class为myClass的div元 ...

  9. Jquery选择器大全汇总

    一.选择器 1.三个基本选择器,$("#ID") .$(".className")  .$("tagName") 2.其他选择器 //htm ...

随机推荐

  1. angularJS1笔记-(1)-多控制器

    前端写好: <div ng-app="myApp"> <div ng-controller="firstController"> < ...

  2. 微服务架构之思维三部曲:What、Why、How

    本文转自:http://www.servicemesh.cn/?/article/49 What:什么是微服务? 某百科对微服务架构的定义和阐述:微服务可以在“自己的程序”中运行,并通过“轻量级设备与 ...

  3. (转)关于ES6的 模块功能 Module 中export import的用法和注意之处

    关于ES6的 模块功能 Module 中export import的用法和注意之处 export default 的用法 export default命令用于指定模块的默认输出.显然,一个模块只能有一 ...

  4. java super

    用法: 1.子类构造器里面默认调用父类构造器 2.调用父类的属性,方法

  5. BZOJ2186 SDOI2008沙拉公主的困惑(数论)

    由于n!是m!的倍数,而对于每个与m!互质且小于m!的数x,x+m!.x+2*m!……也与其互质,所以答案即为(n!/m!)*φ(m!). φ(m!)=m!*∏(1-1/pi).其中的pi即为1~m中 ...

  6. 【BZOJ1052】覆盖问题(贪心)

    [BZOJ1052]覆盖问题(贪心) 题面 BZOJ 洛谷 题解 这题好神仙啊. 很明显可以看出来要二分一个边长. 那么如何\(check\)呢? 我们把所有点用一个最小矩形覆盖, 那么必定每个边界上 ...

  7. 洛谷 P4279 [SHOI2008]小约翰的游戏 解题报告

    P4279 [SHOI2008]小约翰的游戏 题目描述 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有\(n\)堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子,在这堆石子 ...

  8. 使用IPMI控制/监控Linux服务器

    1       IPMI简述 IPMI提供了很多丰富功能,我使用的功能,说得大白话一点,就是: 1.获取本设备的硬件信息:包括CPU和主板的温度.电压.风扇转速. 2.在设备A上,通过命令,控制远程设 ...

  9. android 布局的两个属性 dither 和 tileMode

    tileMode(平铺)tileMode(平铺) 的效果类似于 让背景小图不是拉伸而是多个重复(类似于将一张小图设置电脑桌面时的效果) dither(抖动) Dither(图像的抖动处理,当每个颜色值 ...

  10. 解题:POI 2012 Well

    题面 比较明显地能看出二分来,但是检查函数很难写.对于二分出的一个$mid$,我们要让它满足在$m$次操作内令序列中存在一个为零的位置,同时使得任意相邻的两项之差不超过$mid$ 第二项的检查比较好做 ...