操作HTML标签的时候,我们首先要找到HTML标签的位置,然后进行操作,下面来看看集中查找标签的方法,如下:

    1、Id选择器   -- Id在HTML中是唯一的,通过Id进行查找,Id对应的是#号      id ==》#

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="i10" class="c1">
<div>
<a>caonima</a>
</div>
<a>alexsb</a>
<a>您好</a>
<a>ershazi</a>
</div>
<div class="c1">
<a>f</a>
</div>
<div class="c1">
<div class="c2"></div>
</div>
<script src="jquery-1.12.4.js">
</script>
</body>
</html>

上面HTML代码,下面使用$("#i10")进行查找,查找Id="i10"的标签,如下:

> obj = $('#i10')
> [div#i10.c1, context: document, selector: "#i10"] <!-- 查询到了id="i10"的<div>标签,div标签下面还有子标签,通过一定查找,可以定位到子标签-->
> :div#i10.c1 <!-- 上面标签里面的内容 -->
> context:document
> length:
> selector:"#i10"
> __proto__:Object()

    2、.c1选择器  class选择器,class选择器对应的是.    class ==》 .(点)

通过

> obj = $('.c1')
> [div#i10.c1, context: document, selector: "#i10"] <!-- .c1找到的也是<div>标签,内容一样,因为<div>标签里面有id和class -->
> :div#i10.c1 <!-- div标签下面有子标签,可以通过一定方法进行获取 -->
> context:document
> length:
> selector:"#i10"
> __proto__:Object()

    3、标签选择器,通过标签本身进行选择

选择上面HTML中所有的<a>标签,如下:
> obj = $("a") <!-- 选择HTML中所有的a标签,可以看出,找到5个<a>标签,所有的a标签 -->
> () [a, a, a, a, a, prevObject: jQuery.fn.init(), context: document, selector: "a"]
> obj[4] <!-- 选择上面标签中的第5个a标签 -->
> <a>f</a>

    4、组合查询   组合查询使用的是逗号(,),$('a,.c2,#i10)意思是找到所有<a>标签,class=c2的标签和id="i10"的标签,如下:

> obj = $("a,.c2,#i10")    <!-- 组合查询,查询所有<a>标签,class="c2"标签,id="i10"标签,进行组合查询 -->
> () [div#i10.c1, a, a, a, a, a, div.c2, prevObject: jQuery.fn.init(), context: document, selector: "a,.c2,#i10"]

    5、层级查询   找到某一个标签下面的标签,这个我比较喜欢,一层一层的进行查找,如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="i10" class="c1">
<div>
<a>caonima</a>
</div>
<a>alexsb</a>
<a>您好</a>
<a>ershazi</a>
</div>
<div class="c1">
<a>f</a>
</div>
<div class="c1">
<div class="c2">找的就是你,你妈,层级选择器</div>
</div>
<script src="jquery-1.12.4.js">
</script>
</body>
</html>
===============================================查找标签class等于c1下面的标签class等于c2的标签===========================================
> obj = $('.c1 .c2') <!-- 查找标签class等于c1下面的标签class等于c2的标签的所有标签,子子孙孙 -->
> [div.c2, prevObject: jQuery.fn.init(1), context: document, selector: ".c1 .c2"]
> obj[0]
> <div class="c2">找的就是你,你妈,层级选择器</div>

    parent > child  >符号代表只找子标签,如下:

> obj = $("#i10 a")   <!-- 查找id="i10"标签下面所有的<a>标签,包括子标签和孙子标签,所有的标签-->
> () [a, a, a, a, prevObject: jQuery.fn.init(), context: document, selector: "#i10 a"] > con = $("#i10>a") <!--查找标签id="1o"下面的子标签<a>,只查找子标签看是否是<a>标签 -->
> () [a, a, a, prevObject: jQuery.fn.init(), context: document, selector: "#i10>a"]

“>”大于号代表只查找层级标签下面的子标签," "空格代表查找子标签下的所有满足条件的标签,子子孙孙。

    6、筛选选择器    比如::first筛选满足条件的第一个,如下:

> obj = $('#i10 a:first')   <!--  筛选满足条件的第一个标签-->
> [a, prevObject: jQuery.fn.init(), context: document, selector: "#i10 a:first"] > obj = $('#i10 a:odd') <!-- 筛选满足条件的奇数标签-->
> (2) [a, a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:odd"] > obj = $('#i10 a:even') <!-- 筛选满足条件的偶数标签 -->
> (2) [a, a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:even"] > obj = $('#i10 a:last') <!-- 筛选满足条件标签的最后一个标签-->
> [a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:last"] > obj = $('#i10 a:eq(0)') <!-- 筛选满足条件索引等于0的标签 -->
> [a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:eq(0)"]
> obj = $("#i10 a:gt(2)") <!-- 筛选满足条件索引大于2的标签 -->
> [a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:gt(2)"] > obj = $('#i10 a:lt(2)') <!-- 筛选满足条件索引小于2的标签 -->
> (2) [a, a, prevObject: jQuery.fn.init(1), context: document, selector: "#i10 a:lt(2)"]
查找所有未选中的 input 元素
HTML 代码:
<input name="apple" />
<input name="flower" checked="checked" />
jQuery 代码:

$("input:not(:checked)")
结果:
[ <input name="apple" /> ]

    7、内容(text)选择器

(1):contains(text)      -- 查找标签里面值包含text的标签

:contains(text)
概述
匹配包含给定文本的元素
参数
text String
一个用以查找的字符串
示例
描述:
查找所有包含 "John" 的 div 元素
HTML 代码:
<div>John Resig</div>
<div>George Martin</div>
<div>Malcom John Sinclair</div>
<div>J. Ohn
jQuery 代码:
$("div:contains('John')")
结果:
[ <div>John Resig</div>, <div>Malcom John Sinclair</div> ]

    (2):empty     -- 查找标签里面内容包含空的标签,经常用在表格中,比如查找空单元格的时候

:empty
概述
匹配所有不包含子元素或者文本的空元素
示例
描述:

查找所有不包含子元素或者文本的空元素
HTML 代码:
<table>
<tr><td>Value </td><td></td></tr>
<tr><td>Value </td><td></td></tr>
</table>
jQuery 代码:
$("td:empty")
结果:
[ <td></td>, <td></td> ]

    (3):has(selector)     --判断标签存在  addClass给标签添加class属性

:has(selector)
概述
匹配含有选择器所匹配的元素的元素
参数
selector Selector
一个用于筛选的选择器
示例
描述:
给所有包含 p 元素的 div 元素添加一个 text 类
HTML 代码:
<div><p>Hello</p></div>
<div>Hello again!</div>
jQuery 代码:

$("div:has(p)").addClass("test"); <!-- 给含有<p>标签的<div>标签添加class="test"属性,obj = $('div div:has(a)').addClass('test')-->
结果:
[ <div class="test"><p>Hello</p></div> ]

    (4):parent  -- 查找标签含有子内容的元素    即查找非空的标签,里面有内容或者嵌套其他标签

:parent
概述
匹配含有子元素或者文本的元素
示例
描述:
查找所有含有子元素或者文本的 td 元素
HTML 代码:
<table>
<tr><td>Value </td><td></td></tr>
<tr><td>Value </td><td></td></tr>
</table>
jQuery 代码:
$("td:parent")
结果:
[ <td>Value </td>, <td>Value </td> ]

 8、可见的  :hidden     :visible

(1):hidden      匹配包含display:none的标签

:hidden
概述
匹配所有不可见元素,或者type为hidden的元素
示例
描述:
查找隐藏的 tr 匹配type为hidden的元素
HTML 代码:
<table>
<tr style="display:none"><td>Value </td></tr>
<tr><td>Value </td></tr>
</table>
jQuery 代码:
$("tr:hidden")
结果:
[ <tr style="display:none"><td>Value </td></tr> ]

 (2):visable    可见的,display属性不等于none

:visible
概述
匹配所有的可见元素
示例
描述:
查找所有可见的 tr 元素
HTML 代码:
<table>
<tr style="display:none"><td>Value </td></tr>
<tr><td>Value </td></tr>
</table>
jQuery 代码:
$("tr:visible")
结果:
[ <tr><td>Value </td></tr> ]

 9、属性

[attribute]:查找标签里面具有某个属性的标签,如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.test{
font-size:50px;
color:red;
}
</style>
</head>
<body>
<div id="i10" class="c1">
<div>
<a>caonima</a>
</div>
<a alex="">alexsb</a>
<a alex="">您好</a>
<a>ershazi</a>
<a>属性标签,attribute</a>
</div>
<div class="c1">
<a>f</a>
</div>
<div class="c1">
<div class="c2">找的就是你,你妈,层级选择器</div>
</div>
<script src="jquery-1.12.4.js">
</script>
</body>
</html>
进行如下查询:
(1)、[attribute] 查询标签中属性值是attribute的标签
> obj = $('[alex]') <!-- 查找标签中含有属性值为"alex"的标签,比如alex="sb"属性值等于alex的标签 -->
> (2) [a, a, prevObject: jQuery.fn.init(1), context: document, selector: "[alex]"] (2)[attribute=value] 查询标签属性值等于value的标签
> obj = $('[alex="123"]') <!-- 查询属性等于alex且属性值等于123的标签
> [a, prevObject: jQuery.fn.init(1), context: document, selector: "[alex="123"]" [attribute!=value] 属性值不等于value的标签
[attribute^=value] 属性值不等于value的标签
[attribute$=value] 属性值以attribute结尾,且值等于value的标签
[attribute*=value] 属性值以attribute开头,且值等于value的标签

day17--JQuery选择器的更多相关文章

  1. JQuery 选择器

    选择器是JQuery的根基,在JQuery中,对事件的处理,遍历DOM和AJAX操作都依赖于选择器.如果能够熟练地使用选择器,不仅能简化代码,而且还可以事半功倍. JQuery选择器的优势 1.简洁的 ...

  2. jQuery的案例及必知重要的jQuery选择器

    Jquery能做什么 访问和操作DOM元素 控制页面样式 对页面事件进行处理 扩展新的jQuery插件 与Ajax技术完美结合 Jquery的优势 体积小,压缩后只有100KB左右 l强大的选择器 出 ...

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

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

  4. jQuery选择器和选取方法 http://www.cnblogs.com/MaxIE/p/4078869.html

    我们已经使用了带有简单Css选择器的jQuery选取函数:$().现在是时候深入了解jQuery选择器语法,以及一些提取和扩充选中元素集的方法了. 一.jQuery选择器 在CSS3选择器标淮草案定义 ...

  5. 《锋利的jQuery(第2版)》笔记-第2章-jQuery选择器

    选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器.熟练使用选择器,不仅可以简化代码,而且可以达到事半功倍的效果. 2.1 jQuery选择器是什么 1. ...

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

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

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

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

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

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

  9. jQuery-1.9.1源码分析系列(二)jQuery选择器

    1.选择器结构 jQuery的选择器根据源码可以分为几块 init: function( selector, context, rootjQuery ) { ... // HANDLE: $(&quo ...

  10. jQuery-1.9.1源码分析系列(二)jQuery选择器续1

    在分析之前说一点题外话. ownerDocument和 documentElement的区别 ownerDocument是Node对象的一个属性,返回的是某个元素的根节点文档对象:即document对 ...

随机推荐

  1. java中生成验证码,以及验证码的使用

    java中生成验证码,以及验证码的使用: 1:验证码生成工具类: import java.awt.Color; import java.awt.Font; import java.awt.Graphi ...

  2. Git 设置过滤忽略的文件或文件夹(ignore file)

    我们一般向代码仓库提交项目的时候,一般需要忽略编译生成的中间文件以及文件夹的提交,因为它们是无用的,而且也会占用仓库的空间.一般只用提交.pro,.sln,makefile,程序源文件等编译必须用到的 ...

  3. node.js 笔记

    教程总结笔记: 学习网站:http://www.runoob.com/nodejs/nodejs-install-setup.html Node.js 中文网及安装文件下载: http://nodej ...

  4. 基于Redis主从复制读写分离架构的Session共享(Windows Server)

    搭建主从复制 1.安装软件 下载Redis-x64-3.2.100.zip:https://github.com/MicrosoftArchive/redis/releases 第一步:将Redis拷 ...

  5. python自带的调试器

    python是自带调试器的. 比如你写了一个python程序,名叫test.py. 你想调试一下这个程序,你可以执行 python -m pdb test.py,就会进入test.py的调试. 想查看 ...

  6. Linux 4.10.8 根文件系统制作(三)---制作yaffs文件系统

    这里直接用的是韦东山提供的工具. yaffs文件系统是专门用于nandflash的文件系统 我们前面已经下载了yaffs 的源码,也做了文件系统目录的构建. 在yaffs2的源码目录中有一个utils ...

  7. 个人经验~mysql故障处理思路

    一 简介:个人经验总结 二 思路: 从整体上再进行梳理 三 linux角度 1 硬件是否有问题  常见主板 raid卡 和raid磁盘组 2 综合指标 负载 uptime : 1min  5min  ...

  8. saltstack系列~第二篇

    一 简介:今天咱们来继续学习saltstack 二 命名和分组 1 命名规则 1 ID构成 机房-DB类型-角色(主/从)-IP地址 2 分组构成  分为master slave两组即可 2 分组规则 ...

  9. Executor线程池的简单使用

    我们都知道创建一个线程可以继承Thread类或者实现Runnable接口,实际Thread类就是实现了Runnable接口. 到今天才明白后端线程的作用:我们可以开启线程去执行一些比较耗时的操作,类似 ...

  10. Check Box、Radio Button、Combo Box控件使用

    Check Box.Radio Button.Combo Box控件使用 使用控件的方法 1.拖动控件到对话框 2. 定义控件对应的变量(值变量或者控件变量) 3.响应控件各种消息 Check Box ...