从学习jquery开始,现在已经是第三遍看锋利的jQuery这本书了,现在打算对jQuery中的各种选择器进行一下总结,主要是是为了进一步系统的巩固自己对知识的掌握,另外也可以为那些学习jQuery并不小心进入我的博客的同学提供一个知识交流的机会。

jQuery选择器分为基本选择器,层次选择器,过滤选择器和表单选择器

1.基本选择器

基本选择器其实就是通过元素的id,class和标签名等查找DOM元素的规则的集合,也是jquery中常用的最基本的选择器,掌握基本选择器对于学习jquery很重要。

在这里我打算把书中的基本选择器表照搬显示出来,因为个人觉得这个表给出的解释已经是十分的详细明了。

基本选择器 描述 返回 示例
#id 根据给定元素的id查找匹配一个元素(注意在网页中每一个id只能使用一次) 单个元素 $("#test")选取id为test的元素
.class 根据给定的类名匹配元素 元素数组(或者说集合元素) $(".test")选取所有class为test的元素
element 根据给定的元素名称匹配元素 元素数组(或者说集合元素) $("p")选取所有的<p>元素
* 匹配所有的元素             元素数组(或者说集合元素) $("*")选取所有的元素
selector1,selector2,....selectorN  将每一个选择器匹配到的元素合并后一起返回   元素数组(集合元素) $("div,span,p.myClass")选取所有<div>,<span>和拥有class为myClass的<p>标签的一组元素

2.层次选择器

层次选择器就是通过DOM元素之间的层次关系来获取特定元素的规则表示。那什么是元素之间的层次关系呢?

如下面一段代码:

<div id="one">
<p class="hehe">测试</p>
<ul >
<li>测试1</li>
<li>测试2</li>
</ul>
</div>
<div id="two">测试3</div>

在这段代码中id为two的div是id为one的div元素的相邻元素,这两个元素之间的层次关系就是相邻关系 。

class为"hehe"的p元素和ul元素还有li元素都是id为"one"的div元素的后代元素,他们和id为"one"的div元素之间的层次关系就是后代关系(即p元素,ul元素,li元素都是div元素的后代元素)。

而class为"hehe"的p元素和ul元素还是id为"one"的div元素的子元素(注意这里没有li元素,li元素是ul的子元素),就是说,当前元素的直接的孩子元素就是其子元素,而当前元素内部所包含的所有的元素节点都是其后代元素。

可能说的还是不太清楚。

再次给出书中层次选择表,呵呵。。。

层次选择器 描述 返回 示例
$("ancestor descendant")        选取ancestor元素里面的所有的descendant(后代)元素 元素数组(集合元素) $("div span")选取<div>里的所有<span>元素
$("parent > child") 选取parent元素下的child(子)元素,与$("ancestor descendant")有区别的哦,$("ancestor descendant")选择的是后代元素,大家要搞明白 元素数组(集合元素) $("div > span")选取<div>元素下 元素名是<span>的子元素(其实就是直接孩子节点中的span元素)
$("prev + next") 选取紧接在prev元素后的next元素 元素数组(集合元素) $(".one + div")选取class为one的下一个<div>同辈元素
$("prev~siblings") 选取prev元素之后的所有的siblings元素 元素集合(集合元素) $("#two~div")选取id为two的元素后面的所有的<div>同辈元素

在层次选择器中,前面两种使用的比较广泛,后面两种由于在jquery中有更简单的方法代替,因此使用的几率相对较少 。

可以使用next()方法代替$("prev + next").     选择器 $(".one + div ");  等价于$(".one").next("div");

可以使用nextAll()方法代替选择器$("#prev~siblings").   选择器$("#prev~div")等价于$("#prev").nextAll("div");

//选取#prev之后的同辈div元
$("#prev ~ div").css("background","#aaa");
//同上
$("#prev").nextAll("div").css("background","#aaa");

jQuery中的选择器(上)的更多相关文章

  1. js进阶 11-18 jquery中操作选择器的方法有哪些

    js进阶 11-18 jquery中操作选择器的方法有哪些 一.总结 一句话总结:add().addBack().end() 1.add()方法是干嘛的,举一例? 将add()方法后选择器选择的jqu ...

  2. jQuery中的选择器<思维导图>

    选择器是jQuery的重要组成部分,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器.如果能熟练地使用选择器,不仅能简化代码,而且可以达到事半功倍的效果. 下面是关于jQuery中 ...

  3. jQuery中的选择器《思维导图》

    学习jQuery的课程中,我对jQuery中的选择器有了更深的认识,它的简洁写法,完美的兼容性,可靠的处理机制,都让我们省了很多事, 下面是我在学习过程中对jQuery选择器写的思维导图(全屏查看:& ...

  4. jquery中判断选择器,找没找到元素用$().size()==0

    jquery中判断选择器,找没找到元素用$().size()==0

  5. jQuery中,选择器既匹配开头又匹配结尾

    jQuery中,选择器既匹配开头又匹配结尾的方法: [attr^=val]attr$=val [attr^=val][attr$=val]

  6. js进阶 10-4 jquery中基础选择器有哪些

    js进阶 10-4 jquery中基础选择器有哪些 一.总结 一句话总结: 1.群组选择器用的符号是什么? 群组选择器,中间是逗号 2.jquery中基础选择器有哪些? 5种,类,id,tag,群组, ...

  7. jQuery中的选择器(下)

    这一篇主要写过滤选择器和表单选择器 在这里,我不再已表格形式说明(自己太懒了),主要以文字形式说明一下每个选择器的作用描述.  3.过滤选择器 过滤选择器主要是通过特定的过滤规则筛选出所需的DOM元素 ...

  8. JQuery中checkbox选择器

    今天我们讲的是如何选择HTML网页中CheckBox选择器 如下图,是几个checkbox <input type='checkbox'checked="checked"/& ...

  9. JQuery中的选择器的总结

    JQuery的选择器十分的强大,但是我平常经常用到的却十分的有限,趁现在有时间我感觉有必要总结一下. 基本选择器 $("#ID") 选择ID所对应的标签元素 返回一个标签元素$(& ...

随机推荐

  1. 组件Prop验证

    <div id="example"> <kkk></kkk> </div> <script src="https:/ ...

  2. Web移动端的常用组件库

    normalize http://necolas.github.io/normalize.css/ 最受欢迎的css reset 保留有用的默认值,这个区别于其他的CSS resets 标准化大范围的 ...

  3. iOS面试必看经典试题分析

    > **不用临时变量怎么实现两个数据的交换?** 方式一:加减法的运算方式求解new_b = a - b + b = a;new_a = a + b - a = b;一个简单的运算方式,最重要的 ...

  4. python+request+robot framework接口自动化测试

    python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的 ...

  5. 测试开发Python培训:抓取新浪微博评论提取目标数据-技术篇

    测试开发Python培训:抓取新浪微博评论提取目标数据-技术篇   在前面我分享了几个新浪微博的自动化脚本的实现,下面我们继续实现新的需求,功能需求如下: 1,登陆微博 2,抓取评论页内容3,用正则表 ...

  6. 转接口IC ADV7280/ADV7280-M:CVBS转MIPI转接口芯片 10位、4倍过采样标清电视视频解码器,支持去隔行

    概述ADV7280/ADV7280-M是功能丰富的单芯片.多格式视频解码器.ADV7280/ADV7280-M可自动检测标准模拟基带视频信号,兼容复合.S视频和分量视频形式的NTSC.PAL和SECA ...

  7. WebService基础学习(一)—基础知识

    一.WebService 1.什么是WebService      Web Service(WEB服务)能够快捷和方便地综合结合各种系统.商务和任何应用平台.利用最新的Web Service 标准能够 ...

  8. Parse error: syntax error, unexpected '[' in D:\phpStudy\WWW\tp5\thinkphp\library\think\Loader.php on line 18

    g刚学习tp5就遇到了这个问题  百思不得其解,看到官网说明 是基于PHP5.4 设计的  打开 phpstudy版本一看 就呵呵呵了 .还是5.3的版本.更换版本之后 就ok了.

  9. APP被苹果App Store拒绝的79个原因【转】

    作为iOS开发者,估计有很多都遇到过APP提交到App Store被拒,然后这些被拒的原因多种多样,今天dApps收集了常见的被拒的原因,以便更多开发者了解. APP被苹果APPStore拒绝的各种原 ...

  10. 给指针malloc分配空间后就等于数组吗?【转】

    首先回答你的问题:严格的说不等于数组,但是可以认为它是个数组一样的使用而不产生任何问题. 不过既然这样,那它应该算是个数组吧.所以,一般我们都用“动态数组”这种名字来称呼这种东西. 要讲清楚这个东西, ...