码迷,mamicode.com
首页 > 其他好文 > 详细

选择器

时间:2015-12-31 20:55:53      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:

      现在对于前端开发来说,肯定少不了JS,CSS,但是这些原生态的代码用起来不是太顺手,所以Jquery流行起来了,因为它操作简单,方便,但是它并没有代替原来的开发语言,只是同样的功能,用Jquery来说更加方便,代码量更少,但是许多JS的其他内容Jquery并没有实现,现在有许许多多的JS开发的框架,它们各有优势,但是Jquery用途更方便,操作简单,学习易上手。对于许多项目来说基本上成为必然会使用的一种代码库。

      Jquery大的方面包括Jquery操作和Jquery easy-ui,我接下来所要学的都是Jquery的操作,Jquery只需要导入一个Js文件,当然这个JS文件要第一个被引入,在其之前引入的JS有可能不会引用到Jquery,对于初学者来说,最遗憾的一点是Jquery写错了之后不会报错,及时错了之后老半天找不到哪里出错了,这是比较郁闷的一点。

      Jquery的官方API  http://tool.oschina.net/apidocs/apidoc?api=jquery,

      Jquery各个版本的下载地址:http://jquery.com/download/

      Jquery的中文文档:http://www.jquery123.com/category/attributes/       

       接下来说今天要讲的内容,Jquery选择器,Jquery选择器是CSS的选择器,我之前并没有学习过什么CSS,即使学过,基本上也不用我调什么样式,学过也早忘掉了,但是我需要经常的使用Jquery,而选择器是学习Jquery中基础中的基础,但是选择器好像还有很多混淆的地方,所以写了这篇文章。

      Jquery选择器主要分为六种,比较简单的选择器有三种器,标签选择器,类选择器,ID选择器。 接下来用一个例子来说明

    

 1 <script type="text/javascript" src="jquery-2.1.4.min.js"></script>
 2 <script type="text/javascript" src="index.js"></script>
 3 <link type="text/css" rel="stylesheet" href="index.css">
 4 <title>This is the demo for Jquey</title>
 5 </head>
 6 <body>
 7     <div id="A">
 8        <div id="A1" class="subdiv">A1</div>
 9        <div id="A2">A2</div>
10     </div>
11     <div id="B">
12        <div id="B1" class="subdiv">B1</div>
13        <div id="B2">B2</div>
14     </div>
15     <div id="C">
16        <div id="C1" class="subdiv">C1</div>
17        <div id="C2">C2</div>
18     </div>
19 </body>
20 </html>

     这是我用到的例子,他的展示效果是这个样子的

技术分享

                                     (图1)

标签选择器 : $("div")可以访问到所有标签名称为div的元素,如果$("div“).size()会显示9,它一般都会返回一堆值,实际的应用中一般都不会使用到

ID选择器:   $("#A")可以访问到第一个Div,ID一般都会唯一的得到一个Div元素,所以ID一般用的比较多。只要使用#和ID拼接的字符串即可

类选择器:    $(".subdiv")可以访问到所有包含class=subdiv的Div元素,一般用来整体控制CSS样式,对于事件控制一般都用ID选择器。

使用上面三种方式$("div").css(‘background‘,‘red‘),$("#A").css(‘background‘,‘red‘),$(‘.subdiv‘).css(‘background‘,‘red‘)都可以使其选中的

Div元素背景色变红,下面使他们的显示结果。

技术分享

                                                     (标签选择的效果)

技术分享

                                                       (ID标签选中的效果)

技术分享

                              (类选择选中的效果)

注:因为贴图太麻烦,以后就说那个元素变红就好了。

 

接下来介绍的是稍微比较复杂的选择器,这些选择器是高端选择器,包括后代选择器,属性选择器,过滤选择器

后代选择器:后代选择器的方法比较多,

(1)find()方法:这个方法会查询所有的子方法,如果$("#A").find("div").css(‘background‘,‘color‘),那么A1,A2会变红,因为在这个例子中ID为A的DIV元素下面只有DIV元素,所以看起来效果和选中ID是一样的,但是你也可以在该DIV中添加其他的HTML元素来看看效果,

(2)next()方法:这个方法会查询同级后面的元素,例如在这个例子中$("#A .subdiv").next("div").css(‘background‘,‘color‘),这个方法会查询ID为A的与A1相同等级的元素,那么变红的只有A2。与Find方法的区别是next查询的都是兄弟节点,而对于其兄弟的子节点不做查询,Find会遍历整个DOM树的节点,是以ID是A元素为根元素的所有节点。

(3)nextAll()方法:next只会查询第一次匹配,nextAll会匹配所有的,$("#A").next("div").css(‘background‘,‘red‘),那么变红的只有B1,B2,如果nextAll()的话,C1,C2也会变红

(4)children()方法:查询该元素的所有子元素,如果$("#A”).children(’div‘).css(‘background‘,‘red‘),那么变红只有A1,A2。

(5)prev()方法:该方法查询的是next()的反操作,查询同级之前的元素

(6)prevAll()方法:该方法是nextAll()的反操作

(7)siblings()方法:该方法是next()和prev()操作的合并,即进行了一次next查询,又进行了一次prev的查询

(8)nextUntil()方法:$("#A").nextUntil("#C").css(‘backgroundcolor‘,‘red‘);指的是ID为A元素和ID为C元素之间的A元素之后的兄弟元素,这里只有B元素会变

红,那么变红的只有B1和B2。如果把参数C改为B,则没有匹配的元素,prevUntil()是nextUntil的反操作。

属性选择器 : 这个选择器一般都用在Input元素当中,最常用的是$("input[type=text]")会查询到所有<input type="text">的元素。因为这里只是=号变成*=,$=之类的符号,各自的意义和正则表达式中相同,这里就不在介绍了,不过估计也不太实用

过滤选择器: 过滤的内容需要专门的进行写

 

选择器

标签:

原文地址:http://www.cnblogs.com/rain144576/p/5092575.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!