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

没关系,前端开发网给各位小伙伴们总结了复杂结构DOM的查找使用。如下:

基础选择器

$(“#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的元素

选取一个 name 为”S_03_22″的input text框的上一个td的text值

$(”input[@ name =S_03_22]“).parent().prev().text()

名字以”S_”开始,并且不是以”_R”结尾的

$(”input[@ name ^=’S_’]“).not(”[@ name $=’_R’]“)

一个名为 radio_01的radio所选的值

$(”input[@ name =radio_01][@checked]“).val();

应用案例

$(“A B”) 查找A元素下面的所有子节点,包括非直接子节点

$(“A>B”) 查找A元素下面的直接子节点

$(“A+B”) 查找A元素后面的兄弟节点,包括非直接子节点

$(“A~B”) 查找A元素后面的兄弟节点,不包括非直接子节点

1. $(“A B”) 查找A元素下面的所有子节点,包括非直接子节点

例子:找到表单中所有的 input 元素

HTML 代码:

<form>

<label>Name:</label>

<input name=”name” />

<fieldset>

<label>Newsletter:</label>

<input name=”newsletter” />

</fieldset>

</form>

<input name=”none” />

jQuery 代码:

$(“form input”)

结果:

[ <input name=”name” />, <input name=”newsletter” /> ]

2. $(“A>B”) 查找A元素下面的直接子节点

例子:匹配表单中所有的子级input元素。

HTML 代码:

<form>

<label>Name:</label>

<input name=”name” />

<fieldset>

<label>Newsletter:</label>

<input name=”newsletter” />

</fieldset>

</form>

<input name=”none” />

jQuery 代码:

$(“form > input”)

结果:

[ <input name=”name” /> ]

3. $(“A+B”) 查找A元素后面的兄弟节点,包括非直接子节点

例子:匹配所有跟在 label 后面的 input 元素

HTML 代码:

<form>

<label>Name:</label>

<input name=”name” />

<fieldset>

<label>Newsletter:</label>

<input name=”newsletter” />

</fieldset>

</form>

<input name=”none” />

jQuery 代码:

$(“label + input”)

结果:

[ <input name=”name” />, <input name=”newsletter” /> ]

4. $(“A~B”) 查找A元素后面的兄弟节点,不包括非直接子节点

例子:找到所有与表单同辈的 input 元素

HTML 代码:

<form>

<label>Name:</label>

<input name=”name” />

<fieldset>

<label>Newsletter:</label>

<input name=”newsletter” />

</fieldset>

</form>

<input name=”none” />

jQuery 代码:

$(“form ~ input”)

结果:

[ <input name=”none” /> ]

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选择器大全参考

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

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

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

  8. jQuery选择器大全

    1. id选择器(指定id元素) 将id="one"的元素背景色设置为黑色.(id选择器返单个元素) $(document).ready(function () { $('#one ...

  9. jQuery选择器大全整理

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

随机推荐

  1. TP3.2校验微信公众号||小程序 服务器地址

    1.在TP3.2里面,写一个控制器,用来校验微信公众号||小程序的服务器地址 <?php namespace Home\Controller; use Think\Controller; hea ...

  2. inet_ntoa 的一个小问题

    一个简单点的阻塞式tcp服务器如下所示: #include <stdio.h> #include <string.h> #include <sys/socket.h> ...

  3. CYDIA装了个插件,想删除怎么都删除,电脑如何删除插件?

    http://bbs.weiphone.com/read-htm-tid-3670917.html 装了个插件,想删除怎么都删除不掉不要跟我说在CYDIA里面删除.,在CYDIA里点击该插件就会闪退C ...

  4. 【ERROR】Oracle11g两个监听同名进程的故障

    问题: 一个实例启动了另个两个监听. 解决方法: #ps -ef | grep tnslsnr #oracle 925826 1 0 Apr 06 - 234:50 /u01/app/oracle/p ...

  5. 【ERROR】EXP-00091

    问题: 在我们做exp的过程中可能经常会遇到EXP-00091: Exporting questionable statistics.这样的EXP信息,其实它就是exp的error message,它 ...

  6. python学习笔记011——闭包

    1 定义 定义:在计算机科学中,闭包是词法闭包的简称,是引用了自由变量的函数 简单地说:闭包就是能够读取其他函数内部变量的函数,闭包是将函数内部和函数外部连接起来的桥梁.——来源百度百科 2 描述 形 ...

  7. 转:http协议学习

    协议详解篇 2.1 HTTP/1.0和HTTP/1.1的比较 RFC 1945定义了HTTP/1.0版本,RFC 2616定义了HTTP/1.1版本. 笔者在blog上提供了这两个RFC中文版的下载地 ...

  8. GraphX实现N度关系

    背景 本文给出了一个简单的计算图中每一个点的N度关系点集合的算法,也就是N跳关系. 之前通过官方文档学习和理解了一下GraphX的计算接口. N度关系 目标: 在N轮里.找到某一个点的N度关系的点集合 ...

  9. unity3d prefab

    用prefab创建的实例,其position/rotation/scale并不会随prefab的position/rotation/scale修改而更新,其它属性才会. 不过如果prefab的某个实例 ...

  10. Securecrt emacs/vi 代码无法高亮、无颜色

    无法高亮: 这是因为.bashrc中没有 export term=linux 最后,代码恢复正常: