1.获取Jquery对象
1 2 3 4 5 6 7
| <input type="text" id="username" value="jack"/> <script type="text/javascript"> var usernmae = $("#username"); alert(usernmae.val()); </script>
|

2.Jquery与Dom对象的互相转换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <input type="text" id="username" value="jack"/> <script type="text/javascript"> var username = document.getElementById("username"); alert(username.value);
var $username = $(username); alert($username.val());
var username2 = $username[0]; alert(username2.value);
var username3 = $username.get(0); alert(username3.value); </script>
|

3. 选择器
3.1 基本选择器【重要】
id ,id选择器 通过id 值获得元素
element,标签选择器 通过标签名获得元素
.class 类选择器 通过class值获得元素。注意:使用点开头
s1,s2,… 多选择器,将多个选择器的结果添加一个数组中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <script type="text/javascript"> $(document).ready(function () { });
$("#btn1").click(function () { $("#one").css("background-color", "#ff0") }); $(".btn2").click(function () { $(".one").css("background-color", "#ff0"); }); $("div").background = "#ff2";
</script> <input type="button" id="btn1" value="选择id为one的元素"> <input type="button" class="btn2" value="选择id为one的元素">
|

3.2层级选择器

3.3基本过滤选择器——“:关键字“

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <label for="username"></label> <input type="text" id="username" value="jack"/> <script type="text/javascript"> $("input[type='text']").on("blur focus", function () { var attr = $(this).attr("defaultValue"); if ($(this).is(":focus")) { if ($(this).val() === attr) { $(this).val(""); } } else { if ($(this).val() === "") { $(this).val(attr); } } }); </script> <label> <input type="text" value="请输入账号" defaultValue="请输入账号"> <input type="text" value="请输入账号" defaultValue="请输入密码"> </label> </body> </html>
|

3.4内容过滤



3.5可见性过滤 (重要)

1 2 3 4 5 6 7 8 9 10 11 12
|
*/ // <input type="button" value="选取所有可见的div元素" id="bt1"> $("#b1").click(function () { $("div:hidden").css("background-color", "#ff0"); }); // <input type="button" value="选取所有不可见的元素利用jquery中的show()将他们显示出来" id="bt2"> $("#bt2").click(function () { $("div:hidden").css("background-color", "#ff0");
});
|
3.6实战

3.7属性选择器(掌握)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| <head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-2.1.0.js"></script>
<!--1 ⭐️<input type="button" value="选取含有属性title的div元素" id="btn1"/>--> <script type="text/javascript"> $(document).ready(function () { $("#btn1").click(function () { $("div[title]").css("background-color", "#fff0"); }); }); </script>
<!--2<input type="button" value="选取属性title值等于"test"的div元素" id="btn2"/>--> <script type="text/javascript"> $(document).ready(function () { $("#btn2").click(function () { $("div[title='test']").css("background-color", "#fff0"); }); }); </script>
<!--3 <input type="button" value="选取属性title值不等于"test"的div元素(没有title属性的也会被选中)" id="btn3"/>--> <script type="text/javascript"> $(document).ready(function () { $("#btn2").click(function () { $("div[title!='test']").css("background-color", "#fff0"); }); }); </script> <!--4 <input type="button" value="选取属性title值 以"te"开始的div元素(没有title属性的也会被选中)" id="btn4"/>--> <script type="text/javascript"> $(document).ready(function () { $("#btn2").click(function () { $("div[title^='te']").css("background-color", "#fff0"); }); }); </script> <!--5 <input type="button" value="选取属性title值 以"est"结束的div元素(没有title属性的也会被选中)" id="btn5"/>--> <script type="text/javascript"> $(document).ready(function () { $("#btn2").click(function () { $("div[title$='est']").css("background-color", "#fff0"); }); }); </script> <!--6 <input type="button" value="选取属性title值 含有"es"的div元素(没有title属性的也会被选中)" id="btn5"/>--> <script type="text/javascript"> $(document).ready(function () { $("#btn2").click(function () { $("div[title*='es']").css("background-color", "#fff0"); }); }); </script> <!--⭐️7<input type="button" value="组合属性选择器 首先选取有属性id的div元素。然后在结果中 选取title 值含有"es"的元素")" id="btn5"/>--> <script type="text/javascript"> $(document).ready(function () { $("#btn5").click(function () { $("div[id][title*='es']").css("background-color", "#fff0"); }); }); </script> </head>
|

3.8选择器 (子元素过滤)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <!--1 <input type="button" value="选取每个class为one的div父元素下的第2个子元素" id="btn1">--> <script type="text/javascript"> $("btn1").click(function () { $("div[class='one'] :nth-child(2)").css("background-color", "#ff0");
$("div.one :nth-child(2)").css("background-color", "#ff0"); });
</script>
|

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <script type="text/javascript"> $("btn1").click(function () { $("div.one :first-child").css("background-color", "#ff0"); }); </script> <!--<input type="button" value="如果class为one的div父元素下的第一个子元素 " id="bt4">--> <script type="text/javascript"> $("btn4").click(function () { $("div.one :first-child").css("background-color", "#ff0"); }); </script> <!--<input type="button" value="如果class为one的div父元素下的最后一个子元素 " id="bt4">--> <script type="text/javascript"> $("btn4").click(function () { $("div.one :last-child").css("background-color", "#ff0"); }); </script>
<!--<input type="button" value="如果class为one的div父元素下的仅仅只有一个子元素 " id="bt4">--> <script type="text/javascript"> $("btn4").click(function () { $("div.one :only-child").css("background-color", "#ff0"); }); </script>
|

3.9表单过滤选择器




4 表单对象属性过滤

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| <script src="js/jquery-2.1.0.js"></script> <script type="text/javascript"> $(document).ready(function () { $("input:enabled").val("enabled"); }); $(document).ready(function () { $("input:disabled").val("disabled"); }); $(document).ready(function () { var s1 = $("[name='newsletter']:checked").length; alert(s1) }); $(":selected").each(function () { $("#selectDivId").append($(this).val()); });
</script> ------------ ------------ ------------ ------------ ------------ </head> <body> <h3> 表单对象属性过滤选择器.</h3> <button type="reset">重置所有表单元素</button> <input type="checkbox" id="isreset" checked="checked"/><label for="isreset">点击下列按钮时先自动重置页面</label> <br/><br/> <button id="btn1">对表单内 可用input 赋值操作.</button> <button id="btn2">对表单内 不可用input 赋值操作.</button> <button id="btn3">获取多选框选中的个数.</button> <button id="btn4">获取下拉框选中的内容.</button>
<br/><br/>
可用元素:<input name="add" value="可用文本框"/> <br/> 不可用元素:<input name="email" disabled="disabled" value="不可用文本框"/><br/> 可用元素: <input name="che" value="可用文本框"/><br/> 不可用元素:<input name="name" disabled="disabled" value="不可用文本框"/><br/> <br/> 多选框:<br/> <input type="checkbox" name="newsletter" checked="checked" value="test1"/>test1 <input type="checkbox" name="newsletter" value="test2"/>test2 <input type="checkbox" name="newsletter" value="test3"/>test3 <input type="checkbox" name="newsletter" checked="checked" value="test4"/>test4 <input type="checkbox" name="newsletter" value="test5"/>test5 <div id="checkboxDivId"></div>
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 下拉列表1:<br/> <select name="test" multiple="multiple" style="height:100px"> <option>浙江</option> <option selected="selected">湖南</option> <option>北京</option> <option selected="selected">天津</option> <option>广州</option> <option>湖北</option> </select>
<br/><br/> 下拉列表2:<br/> <select name="test2"> <option>浙江</option> <option>湖南</option> <option selected="selected">北京</option> <option>天津</option> <option>广州</option> <option>湖北</option> </select> <br/><br/>
<div id="selectDivId"></div>
</body> </html>
|

5 选择器案例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <script type="text/javascript"> $(document).ready(function () {
var $allLi = $("li:gt(4):not(:last)"); $allLi.hide();
$("span").click(function () { if ($allLi.is(":hidden")) { $allLi.show(); $(this).html("隐藏"); } else { $allLi.hide(); $(this).html("显示"); } }); }); </script>
|

6 属性 CSS

1 2 3 4 5 6 7 8 9
| <script type="text/javascript"> $(document).ready(function () { $("[name='username']").attr("disabled", "disabled"); $("[name='username']").removeAttr("disabled"); }); </script>
|

CSS 类


1 2 3 4 5 6 7 8 9
| alert($("div").text()); alert($("div").html());
$("div").text("<a href='Demo5.html'>你点我呀</a>"); $("div").html("<a href='Demo5.html'>你点我呀</a>"); });
</script>
|

7 CSS
1 2 3 4 5 6 7 8
| /设置CSS $("div").css({ "width": "200px", "height": "222px", "font-size": "60px", "color": "#f00",
});
|



8 文档处理
8.1 内部插入「掌握」



实战:




8.2 外部插入「掌握」

实战:




8.3 删除 「掌握」




9.文档处理 克隆 替换包裹





Day 02



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <script type="text/javascript"> $(document).ready(function () {
$("#left1").click(function () { $("#leftSelectId option:first").appendTo("#rightSelectId") }); $("#left2").click(function () { $("#leftSelectId option:selected").appendTo("#rightSelectId") }); $("#left3").click(function () { $("#leftSelectId option").appendTo("#rightSelectId") }); }); </script>
|

10 筛选
过滤
- 选择器可以完成功能 筛选提供相同的函数



查找






串联

将多条语句改成一条 *得瑟代码***



案例:QQ分组

11 事件
常见事件






页面加载



事件绑定[重要]



委派


切换

12 动画效果



13 Ajax「重要 掌握」



Load()函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| $(function () { $("input").click(function () { var url = "/"; var params = {"username": "jack", "password": "1234"};
$(this).load(url, params, function (data) { var jsonData = eval("(" + data + ")"); alert(jsonData.message); });
}); })
|

$.post $.$.get
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
$.get(url, params, function () { alert(data); }, "json");
$.post(utl, params, function (data) { alert(data); }, "json")
}); })
|

$.ajax()$
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| $(function () { $("input").click(function () {
$.ajax({ "url": "/", "data": "params", "type": "POST", "success": function (data) { alert(data); }, "error": function () { alert("服务器繁忙") }, "dateType": "json" }); }); })
|



处理实战
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| <script type="text/javascript"> $(function () { $("#h01").one("click.a", function () { alert("你只能看到我一次"); }); $("#h02").bind("click.b", function () { alert("每次都是你"); }); $("#h03").click(function () { $("#h02").unbind("click.b"); }); $(".myClass").live("click", function () { $("body").append("<input type='button' class='myClass'>") }); $("#h05").click(function () { $(".myClass").die("click"); }); $(function () { $("#e01").toggle(function () { alert("报数1"); }, function () { alert("报数2"); });
$("#e02").hover(function () { $("#divMsg").html("over"); }, function () { $("#divMsg").html("out"); })
}) }); </script>
|

14 其他
表单序列化


事件冒泡

浏览器默认的动作行为

Jquery文档1.8.3

Author:
John Doe
Permalink:
http://yoursite.com/2018/12/14/前端/Jquery学习1/
License:
Copyright (c) 2019 CC-BY-NC-4.0 LICENSE
Slogan:
Do you believe in DESTINY?