jquery一些总结

今天用jquery写一个js的效果,总结了几个方法。

获取jquery对象的css样式属性:css()方法,还可以更改其css样式:$(this).css('display') ;$(this).css('display','none');

获取兄弟节点的方法:$(this).siblings()方法

jquery对象增加删除clss属性可以用来改变样式:$(this).addClass('className') ; $(this).removeClass('className');

 某些jquery对象的悬停效果 $(this).hover(function(){},function(){});前面函数是鼠标进入区域时触发的操作,后面函数是鼠标离开区域时触发的操作

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Basic Form - jQuery EasyUI Demo</title>
 6     <link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">
 7     <link rel="stylesheet" type="text/css" href="../../themes/icon.css">
 8     <link rel="stylesheet" type="text/css" href="../demo.css">
 9     <script type="text/javascript" src="../../jquery.min.js"></script>
10     <script type="text/javascript" src="../../jquery.easyui.min.js"></script>
11 
12  <script type="text/javascript">
13     $(function(){
14 
15         
16         
17         $('.type_selected').text("公司");
18         
19         //显示li的悬停事件
20         $('.type_selected').hover(function(){
21             $(this).siblings().css('display','list-item');
22             if($(this).text()=="公司"){
23                 $(this).siblings().text("职位");
24             }else{
25                 $(this).siblings().text("公司");
26             }
27             
28 
29             //兄弟节点的悬停
30             $(this).siblings().hover(function(){
31                 $(this).css('display','list-item');
32             },function(){
33                 $(this).css('display','none');
34             })
35 
36             
37             
38         },function(){
39             $(this).siblings().css('display','none');
40         });
41 
42         //兄弟节点的点击事件
43         $(".type_selected").siblings().click(function(){
44             if($(".type_selected").text()=="城市"){
45                 $(".type_selected").text("职位");
46             }else{
47                 $(".type_selected").text("城市");
48             }
49             $(".type_selected").siblings().css("display","none");
50         });
51     })
52 
53  </script>
54 
55  <style type="text/css">
56     
57 
58     #searchType{cursor:pointer;position:absolute;list-style:none;padding:0;margin:0;width:98px;background:#fff;left:-2px;top:0;}
59 
60 
61     #searchType li{font-size:16px;height:23px;line-height:24px;padding:7px 22px;border:2px solid #91cebe;display:none;}
62 
63 
64     #searchType li.type_selected{height:23px;border-left:2px solid #019875;border-right:2px solid #019875;border-top:0;border-bottom:0;display:block;}
65  </style>
66 
67 
68 </head>
69 <body>
70 
71     
72 
73     
74 
75    <ul id="searchType">
    <li  class="type_selected" data-searchtype="1" style="display: list-item;"></li>
    <li  class="" data-searchtype="4" style="display: none;"></li>
    </ul>
</body> 82 </html>

就是从这个项目中积累了一点小知识,留住以便后用。还用这个小js效果也让我编写代码的思想有了一点改变,开始想着当点击下面一个li时,如何让上面的li隐藏,下面的li显示,然而我们换个角度来想这个问题,我们只需要把上面的li和下面li的文本互换一下就好了。无需做如上那么复杂的操作。

 

今天系统的总结一下jQuery的选择器

1、id选择器:选取元素的id$("#id")

2、元素选择器:选取节点名$(p),$(div)

3、子选择器:">"  选取某个节点下的子元素。 $('div>p')

4、群组选择器:" ,"主要用于获取多个DOM元素;   各个选择的对象以逗号隔开获取多个DOM元素,单个DOM元素的选择方式不做要求 $('#id,  .className, div')

5、后代选择器:后代DOM元素与父类元素以空格隔开,选取后代元素 $('div ul li a')

6、通配符选择器:$(*) 所有的元素,在全局中使用消耗过多资源,没多大的用途;当在局部时适当时有很大的作用。$('ul li  *') ul li 下的所有元素。

7、元素类选择器:当用元素名选择一个元素时,无法精确的选取某个DOM对象,此时元素类选择器就可以做到相对于精确的选择。$('div.className') 在元素名后面跟上". className",注意,之间不能有空格否则就成了后代选择器。

8、元素id选择器:和元素类选择器比较类似。$('div#idName')。也是注意在元素名与#idName之前不能有空格,否则也成了后代选择器

9、多类选择器:每个DOM元素可以有多个类,选择某个有多个类的元素可以使用多类选择器 $('.className1.className2') 注意多个类名之间不能有空格。否则就成了后代选择器

 

高级选择器:

1、后代选择器:之前介绍过,后代选择器就是中间由空格隔开,jQuery为后代选择器提供了一个方法find(),$('div').fin('p')查找div子元素为p元素的DOM对象

2、子选择器:子选择儿子,不选择孙子节点 $('div>p') jQuery提供了一个方法 $('div').children()

3、next选择器:$('div + p '),选取div后面第一个匹配的为P的元素 jQuery有对应的方法 next():选择后面匹配的第一个元素,如果下一个元素没有匹配则不作任何改变、必须是相邻的第一个;如果不进行第一个匹配,而是匹配后面所有的元素则是nextAll选择器 $('div~p') $('div').nextAll('p');

nextUntil选择器:选择后面的所有元素知道遇到某个元素停止选择 $('div').nextUntil('p');

4、属性选择器:[name=''],[type=''] 通过判断标签的属性,进行精确的选择DOM对象 $(input[type='text'])

5、基本过滤器:

  :first 选取第一个元素 ,jQuery对应的方法有first()

  :last 选取最后一个元素,jQuery对应的方法有last()

  :not(selector) class不是selector的元素,jQuery对应的方法是not()

  :odd/:even 奇数偶数过滤

  eq(index) 等于index的元素,从0开始奇数 index为负数时,从后往前数从-1开始计数,jQuery对应的方法eq()

  :gt(index) 大于index的元素,正数从0开始计数,为负数时从=1开始计数

  :animated 正在执行动画的元素

  :focus 选择当前被焦点的元素

  :lt(index)小于index的元素

6、内容过滤器

  :contains(text):选取含有text文本的元素

  :empty():选取不含子元素的jQuery元素

  :parent():选取含有子元素或文本的元素

7、可见性过滤器

  :hidden 选取所有不可见的jQuery元素

  :visible 选取所有课件的jQuery元素

8、子元素过滤器

  :first-child :获取每个父元素的第一个子元素
  :last-child:获取每个父元素最后一个子元素

  :only-child:获取只含有一个子元素的元素

  :nth-child(odd/even/eq(index)) 获取每个自定义的子元素。这里index从1开始计数

 

部分jQuery提供的选取元素的方法

parent:获取父元素对象

parents:获取所有的祖先节点

parentsUntil(x):获取所有的祖先节点,知道x元素位置位置

is()

child()获取子元素,不包括文本子元素;contentss():获取子元素,包括元素的文本子元素

slice(satre,[end]):选取元素的子集,从state开始到end结束(不包括end),end可以默认不谢那么一直选到结尾

 

posted on 2014-05-05 18:21  狂野的小怪兽  阅读(198)  评论(0编辑  收藏  举报