码迷,mamicode.com
首页 > Web开发 > 详细

jQuery

时间:2017-06-05 12:41:38      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:blog   scrollto   选择器   test   back   date   extend   shadow   pass   

一、介绍

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

http://jquery.cuishifeng.cn/

集成了JavaScript、DOM、BOM的类库

版本:1.x 2.x 3.x

jQuery与DOM直接相互转换

jQuery对象[0] => DOM对象

DOM对象 => $(DOM对象)

 

二、查找元素

1.选择器,直接找到某个或某类标签

 

技术分享
1 $("#id")    //根据ID查找
2 $(".c1")    //根据className查找
3 $("a")      //根据标签查找
4 $("a,.c2")  //组合查找
5 $("#i10 a")    //层级查找,子子孙孙
6 $("#i10>a")  //层级查找,儿子
选择器

2.基本筛选器

技术分享
1 $("#id10>a:first")   //儿子的第一个
2 $("#id10>a:last")    //儿子的最后一个
3 $("#id10>a:eq(0)")   //0为索引,从0开始
基本筛选器

3.属性

技术分享
1 $("[alex]")         //具有alex属性的标签
2 $("[alex=‘123‘]")   //alex属性等于123的标签
属性

4.筛选

技术分享
1 $(this).next()          //下一个
2 $(this).prev()          //上一个
3 $(this).parent()        //父
4 $(this).children()      //孩子
5 $("#i1").siblings()     //除了自己的所有兄弟
6 $("#i1").find("#i1")    //子子孙孙中查找
筛选

 

三、操作元素

1.文本操作

技术分享
1 $(..).text()        //获取文本内容
2 $(..).text("ddd")   //设置文本内容
3 $(..).html()
4 $(..).html("...")
5 $(..).val()        //获取值
6 $(..).val("...")    //设置值
文本操作

2.样式操作

技术分享
1 addClass("...")         //添加样式
2 removeClass("...")      //删除样式
3 toggleClass("...")      //判断样式是否存在,存在删除,不存在添加
样式操作

3.属性操作

技术分享
1 $(..).attr(参数1)         //获取属性
2 $(..).attr(参数1,参数2) //设置属性
3 $(..).removeAttr()          //删除属性
4 $(..).prop()                //专门用于checkbox、radio
属性操作

4.文档处理

技术分享
1 append                  //向每个匹配的元素内部追加内容
2 prepend                 //向每个匹配的元素内部前置内容
3 after                   //在每个匹配的元素之后插入内容
4 before                  //在每个匹配的元素之前插入内容
5  
6 remove                  //从DOM中删除所有匹配的元素
7 empty                   //删除匹配的元素集合中所有的子节点
8  
9 clone                   //克隆匹配的DOM元素并且选中这些克隆的副本
文档处理

5.样式处理

技术分享
1 $("#t1").css("样式名称", "样式值")
样式处理

6.位置

技术分享
1 scrollTop()
2 scrollLeft()
3 $(window).scrollTop()   //获取
4 $(window).scrollTop(0)  //设置
5 offset().left             //指定标签在HTML中的坐标
6 offset().top              //指定标签在HTML中的坐标
位置处理

7.事件

技术分享
 1 //第一种
 2 $(".c1").click()
 3  
 4 //第二种
 5 $(".c1").bind("click",function(){
 6  
 7 })
 8 $(".c1").unbind("click",function(){
 9  
10 })
11  
12 //此种方法只有当触发事件才绑定
13 $(".c1").delegate("a", "click", function(){
14  
15 })
16 $(".c1").undelegate("a", "click", function(){
17  
18 })
19  
20 //第三种
21 $(".c1").on("click", function(){
22  
23 })
24 $(".c1").off("click", function(){
25  
26 })
jQuery绑定事件三种方式

阻止事件发生:

return false

当页面框架加载完毕后,自动执行

$(function(){

})

8.扩展

$.extend    $.方法

$.fn.extend $("i1").方法

技术分享
 1 //自执行函数
 2 (function(arg){
 3     var status = 1;
 4     //封装变量
 5     arg.extend({
 6         "wangsen": function(){
 7             return "sb";
 8         }
 9     });
10 })(jQuery);
extend方法

9.循环

jQuery方法内置循环

技术分享
1 $(":checkbox").each(function(){
2     // k当前索引
3     // this,DOM对象,当前循环的元素$(this)
4 });
each循环

10.三元运算

var v = 条件?真值:假值

 

四、示例

技术分享
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>test</title>
 6 </head>
 7 <body>
 8     <input id="i1" type="button" value="全选"/>
 9     <input id="i2" type="button" value="反选"/>
10     <input id="i3" type="button" value="取消"/>
11     <table border="1">
12         <thead>
13             <tr>
14                 <th>选项</th>
15                 <th>IP</th>
16                 <th>端口</th>
17             </tr>
18         </thead>
19         <tbody>
20             <tr>
21                 <td><input type="checkbox" /></td>
22                 <td>1.1.1.1</td>
23                 <td>80</td>
24             </tr>
25             <tr>
26                 <td><input type="checkbox" /></td>
27                 <td>1.1.1.1</td>
28                 <td>80</td>
29             </tr>
30             <tr>
31                 <td><input type="checkbox" /></td>
32                 <td>1.1.1.1</td>
33                 <td>80</td>
34             </tr>
35             <tr>
36                 <td><input type="checkbox" /></td>
37                 <td>1.1.1.1</td>
38                 <td>80</td>
39             </tr>
40             <tr>
41                 <td><input type="checkbox" /></td>
42                 <td>1.1.1.1</td>
43                 <td>80</td>
44             </tr>
45         </tbody>
46     </table>
47     <script src="../jquery/jquery-1.12.4.js"></script>
48     <script>
49         $("#i1").click(function () {
50             $(":checkbox").prop("checked", true);
51         });
52         $("#i2").click(function () {
53             $(":checkbox").each(function () {
54                 var v = $(this).prop("checked")?false:true;
55                 $(this).prop("checked", v);
56             });
57         });
58         $("#i3").click(function () {
59             $(":checkbox").prop("checked", false);
60         });
61     </script>
62 </body>
63 </html>
多选反选取消
技术分享
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>test</title>
 6     <style>
 7         .header{
 8             background-color: black;
 9             color: white;
10         }
11         .content{
12             min-height: 50px;
13         }
14         .hide{
15             display: none;
16         }
17     </style>
18 </head>
19 <body>
20     <div style="height: 400px;width: 200px;border: 1px solid #dddddd">
21         <div class="item">
22             <div class="header">标题1</div>
23             <div id="i1" class="content">内容</div>
24         </div>
25         <div class="item">
26             <div class="header">标题2</div>
27             <div class="content hide">内容</div>
28         </div>
29         <div class="item">
30             <div class="header">标题3</div>
31             <div class="content hide">内容</div>
32         </div>
33     </div>
34     <script src="../jquery/jquery-1.12.4.js"></script>
35     <script>
36         $(".header").click(function () {
37             $(this).next().removeClass("hide").parent().siblings().find(".content").addClass("hide");
38         });
39     </script>
40 </body>
41 </html>
左侧菜单
技术分享
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>test</title>
 6     <style>
 7         .hide{
 8             display: none;
 9         }
10         .modal{
11             position: fixed;
12             top: 50%;
13             left: 50%;
14             width: 500px;
15             height: 400px;
16             margin-top: -250px;
17             margin-left: -250px;
18             background-color: #dddddd;
19             z-index: 10;
20         }
21         .shadow{
22             position: fixed;
23             top: 0;
24             right: 0;
25             bottom: 0;
26             left: 0;
27             opacity: 0.6;
28             background-color: #000000;
29             z-index: 9;
30         }
31     </style>
32 </head>
33 <body>
34     <a id="a1">添加</a>
35     <table border="1" id="tb">
36         <tr>
37             <td target="hostname">1.1.1.11</td>
38             <td target="port">80</td>
39             <td>
40                 <a class="edit">编辑</a> | <a class="del">删除</a>
41             </td>
42         </tr>
43         <tr>
44             <td target="hostname">1.1.1.12</td>
45             <td target="port">80</td>
46             <td>
47                 <a class="edit">编辑</a> | <a class="del">删除</a>
48             </td>
49         </tr>
50         <tr>
51             <td target="hostname">1.1.1.13</td>
52             <td target="port">80</td>
53             <td>
54                 <a class="edit">编辑</a> | <a class="del">删除</a>
55             </td>
56         </tr>
57     </table>
58     <div class="modal hide">
59         <div>
60             <input type="text" name="hostname"/>
61             <input type="text" name="port"/>
62         </div>
63         <div>
64             <input type="button" value="确定">
65             <input type="button" value="取消">
66         </div>
67     </div>
68     <div class="shadow hide"></div>
69     <script src="../jquery/jquery-1.12.4.js"></script>
70     <script>
71         $("#a1").click(function () {
72             $(".modal").removeClass("hide");
73             $(".shadow").removeClass("hide");
74         });
75         $(".modal input[value=‘取消‘]").click(function () {
76             $(".modal, .shadow").addClass("hide");
77             $(".modal input[type=‘text‘]").val("");
78         });
79         $(".del").click(function () {
80             $(this).parent().parent().remove();
81         });
82         $(".edit").click(function () {
83             var tds = $(this).parent().prevAll();
84             tds.each(function () {
85                 var n = $(this).attr("target");
86                 var text = $(this).text();
87                 var a1 = .modal input[name=";
88                 var a2 = "];
89                 var temp = a1 + n + a2;
90                 $(temp).val(text);
91             });
92             $(".modal").removeClass("hide");
93             $(".shadow").removeClass("hide");
94         });
95     </script>
96 </body>
97 </html>
模态对话框
技术分享
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>test</title>
 6     <style>
 7         .menu{
 8             height: 38px;
 9             background-color: #dddddd;
10             line-height: 38px;
11         }
12         .menu .menu-item{
13             float: left;
14             border-right: 1px solid red;
15             padding: 0 5px;
16             cursor: pointer;
17         }
18         .content{
19             min-height: 100px;
20             border: 1px solid #eeeeee;
21         }
22         .hide{
23             display: none;
24         }
25         .active{
26             background-color: brown;
27         }
28     </style>
29 </head>
30 <body>
31     <div style="width: 700px;margin: 0 auto">
32         <div class="menu">
33             <div class="menu-item active" a="1">菜单一</div>
34             <div class="menu-item" a="2">菜单二</div>
35             <div class="menu-item" a="3">菜单三</div>
36         </div>
37         <div class="content">
38             <div b="1">内容一</div>
39             <div class="hide" b="2">内容二</div>
40             <div class="hide" b="3">内容三</div>
41         </div>
42     </div>
43     <script src="../jquery/jquery-1.12.4.js"></script>
44     <script>
45         $(".menu-item").click(function () {
46             $(this).addClass("active").siblings().removeClass("active");
47             var v = $(this).index();
48             $(".content").children().eq(v).removeClass("hide").siblings().addClass("hide");
49         });
50     </script>
51 </body>
52 </html>
tab切换菜单
技术分享
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <style>
 7         .container{
 8             padding: 50px;
 9             border: 1px solid #dddddd;
10         }
11         .item{
12             width: 30px;
13             position: relative;
14         }
15     </style>
16 </head>
17 <body>
18     <div class="container">
19         <div class="item">
20             <span></span>
21         </div>
22     </div>
23     <div class="container">
24         <div class="item">
25             <span></span>
26         </div>
27     </div>
28     <div class="container">
29         <div class="item">
30             <span></span>
31         </div>
32     </div>
33     <div class="container">
34         <div class="item">
35             <span></span>
36         </div>
37     </div>
38     <script src="jquery-1.12.4.js"></script>
39     <script>
40         $(".item").click(function () {
41             addFavor(this);
42         })
43         function addFavor(self) {
44             // DOM对象
45             var fontSize = 15;
46             var top = 0;
47             var right = 0;
48             var opacity = 1;
49             var tag = document.createElement("span");
50             $(tag).text("+1");
51             $(tag).css("color", "green");
52             $(tag).css("position", "absolute");
53             $(tag).css("fontSize", fontSize + "px");
54             $(tag).css("top", top + "px");
55             $(tag).css("right", right + "px");
56             $(tag).css("opacity", opacity);
57             $(self).append(tag);
58  
59             var obj = setInterval(function () {
60                 fontSize += 5;
61                 top -= 5;
62                 right -= 5;
63                 opacity -= 0.1;
64                 $(tag).css("fontSize", fontSize + "px");
65                 $(tag).css("top", top + "px");
66                 $(tag).css("right", right + "px");
67                 $(tag).css("opacity", opacity);
68                 if(opacity < 0){
69                     clearInterval(obj);
70                     $(tag).remove();
71                 }
72             }, 100);
73  
74         }
75     </script>
76 </body>
77 </html>
点赞
技术分享
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <style>
 7         .error{
 8             color: red;
 9         }
10     </style>
11 </head>
12 <body>
13     <form id="f1" action="http://127.0.0.1" method="POST">
14         <div><input name="n1" type="text"/></div>
15         <div><input name="n2" type="password"/></div>
16         <div><input name="n3" type="text"/></div>
17         <div><input name="n4" type="text"/></div>
18         <div><input name="n5" type="text"/></div>
19         <input type="submit" value="提交"/>
20     </form>
21     <script src="jquery-1.12.4.js"></script>
22     <script>
23 //        $(":submit").click(function () {
24 //            var v = $(this).prev().val();
25 //            if(v.length > 0){
26 //                return true;
27 //            }else{
28 //                alert("请输入内容");
29 //                return false;
30 //            }
31 //        });
32         $(":submit").click(function () {
33             $(".error").remove();
34  
35             var flag = true;
36             $("#f1").find("input[type=‘text‘], input[type=‘password‘]").each(function () {
37                 var v = $(this).val();
38                 if(v.length <= 0){
39                     flag = false;
40                     var tag = document.createElement("span");
41                     tag.className = "error";
42                     tag.innerHTML = "必填";
43                     $(this).after(tag);
44 //                    return false;
45                 }
46             });
47             return flag;
48         });
49     </script>
50 </body>
51 </html>
表单验证1
技术分享
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 <form id="f1" action="https://www.baidu.com" method="GET">
 9     <p>用户名:
10         <input type="text" name="username" placeholder="请输入用户名" require="true" />
11     </p>
12     <p>&nbsp;&nbsp;&nbsp;&nbsp;码:
13         <input type="password" placeholder="请输入密码" name="password" require="true" min-len="6" max-len="18"/>
14     </p>
15     <p>手机号:
16         <input type="text" placeholder="请输入手机号" name="phone" require="true" phone="true" />
17     </p>
18     <input type="submit" value="登录"/>
19 </form>
20  
21 <script src="jquery-1.12.4.js"></script>
22 <script>
23     $(function () {
24         checkValidate();
25     });
26     function checkValidate() {
27         $("#f1").find(":submit").click(function () {
28             $("#f1").find("span").remove();
29             var flag = true;
30             $("#f1").find(":text, :password").each(function () {
31                 // this表示input标签,每次执行都是一个标签,如果某个标签的某一项不满足,跳到下一个标签
32                 var value = $(this).val();
33                 var require = $(this).attr("require");
34                 if(require){
35                     if(value.length == 0){
36                         var n = $(this).attr("name");
37                         var errorTag = document.createElement("span");
38                         errorTag.innerHTML = n + "输入不能为空";
39                         $(this).after(errorTag);
40                         flag = false;
41                         return false;
42                     }
43                 }
44  
45                 var minLen = $(this).attr("min-len");
46                 if(minLen){
47                     var valueLen = value.length;
48                     var minLen = parseInt(minLen);
49                     if(valueLen < minLen){
50                         var n = $(this).attr("name");
51                         var errorTag = document.createElement("span");
52                         errorTag.innerHTML = n + "太短了";
53                         $(this).after(errorTag);
54                         flag = false;
55                         return false;
56                     }
57                 }
58  
59                 var maxLen = $(this).attr("max-len");
60                 if(maxLen){
61                     var valueLen = value.length;
62                     var maxLen = parseInt(maxLen);
63                     if(valueLen > maxLen){
64                         var n = $(this).attr("name");
65                         var errorTag = document.createElement("span");
66                         errorTag.innerHTML = n + "太长了";
67                         $(this).after(errorTag);
68                         flag = false;
69                         return false;
70                     }
71                 }
72  
73                 var phone = $(this).attr("phone");
74                 if(phone){
75                     var re = /^\d{11}$/;
76                     if(!re.test(value)){
77                         var n = $(this).attr("name");
78                         var errorTag = document.createElement(span);
79                         errorTag.innerHTML = n + 格式错误;
80                         $(this).after(errorTag);
81                         flag = false;
82                         return false;
83                     }
84                 }
85             });
86             return flag;
87         });
88     }
89 </script>
90 </body>
91 </html>
表单验证2

jQuery

标签:blog   scrollto   选择器   test   back   date   extend   shadow   pass   

原文地址:http://www.cnblogs.com/qiang8216/p/6944134.html

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