jQuery是封装了js的一个前端框架,可以写更少的代码,做更多的事情
jQuery中的$是一个函数
为按钮添加点击响应函数
1.使用jQuery查询到标签对象
2.使用标签对象.click(function(){});
$ 是jQuery的一个核心函数,通过$可以选择元素,还可以去定义函数等等
通过$来声明jQuery中的文本就绪函数:
$(function{
})
原生js的文本就绪函数
Window.onload = function(){
}
通过相对路径引入jQuery控件
xxxxxxxxxx21<!--引入jQuery控件-->2<script src="../jQuery/jquery-1.7.2.js"></script>xxxxxxxxxx81//jQuery中的文本就绪函数2$(function(){3
4 let elementById = document.getElementById("id");5
6 alert(elementById);7
8})
通过jQuery的方式来选择html对象
jQuery中的选择器:
最基本的几种选择器:id选择器、class选择器、标签选择器
xxxxxxxxxx101//通过jQuery中的id选择器来选择标签2let inputEl = $("#id")3
4//[object Object] 这种形式的对象是jQuery对象,不是dom对象5alert(inputEl);6
7//通过class选择器来选择标签对象8let classEl = $(".class");9
10alert(classEl);
通过jQuery选择器选择的对象是一个jQuery对象,并不是dom对象,但是在jQuery底层封装的是dom对象,jQuery对象的本质就是dom对象数组
xxxxxxxxxx231//通过jQuery动态绑定的方式来绑定单击事件2$(function (){3
4 let clickEl = $("#click");5
6 //绑定单击事件7 clickEl.click(function (){8
9 alert("通过jQuery的方式来注册单击事件")10
11 })12
13})14
15-------------------------------------------------------16
17let elementById = document.getElementById("click");18
19elementById.onclick = function (){20
21 alert("通过js的方式来注册单击事件")22
23}
jQuery针对dom对象的所有属性都封装了对应的方法,dom对象中 onclick属性,jQuery中就封装了click()
注:jQuery对象只能调用jQuery提供的方法,不能调用dom中的属性,dom对象只能调用属性,不能调用方法
window.onload = function(){}xxxxxxxxxx281function test(){2
3 let input = $("<input type='button' value='123456'>");4
5 $("#body").append(input);6
7}8
9//定义一个文本就绪函数10$(function (){11
12 let jQueryObj = $(".text");13
14 //[object Object] jQuery对象15 alert(jQueryObj);16
17 let domObj = document.getElementById("text");18
19 //[object HTMLInputElement] dom对象20 alert(domObj);21
22 //将dom对象转成jQuery对象23 let jQueryObj02 = $(domObj);24
25 //[object Object] jQuery对象,获取jQuery对象的值26 alert(jQueryObj02.val());27
28})
Dom对象
jQuery对象
jQuery对象是dom对象的数组 + jQuery 提供的一系列功能函数
xxxxxxxxxx311//通过属性过滤选择器选择所有被选中的多选框2 function test01(){3
4 let $hobby = $(".hobby:checked");5
6 //遍历被选中的多选框7 $hobby.each(function (){8
9 //dom对象直接通过value属性取值10 alert(this.value);11
12 })13
14 //遍历方法2,for循环遍历15 for (let i = 0; i < $hobby.length; i++) {16
17 //封装成jQuery对象后取值18 alert($($hobby[i]).val());19
20 }21 22 //组合选择器23 $("input,p.myClass").each(function (){24
25 alert(this)26
27 })28 29 }30
31
dom对象转化为jQuery对象
jQuery对象转换为dom对象
基本选择器
Tips:jQuery的id选择器只支持,单词、阿拉伯数字、下划线、中划线,其中单词,包括英文字母、汉字,但是控件id属于客户不可见内容,实际中开发人员是不用汉字作为id的, 这里不考虑
层级选择器
过滤选择器
内容过滤器
属性过滤器
xxxxxxxxxx361/*属性过滤选择器*/2$("[value]").each(function (){3
4 alert(this.value)5
6})7
8/*匹配具有value属性并且value值等于1的元素*/9$("[value=test1]").each(function (){10
11 alert(this.value)12
13})14
15/*过滤value属性值以t开头的元素*/16$("[value^=t]").each(function (){17
18 alert(this.value)19 20})21
22
23/*过滤value属性值包含es的元素*/24$("[value*=es]").each(function (){25
26 alert(this.value)27
28})29
30/*复合属性选择器,选择value包含es,并且value以1结尾的元素*/31$("[value*='es'][value$='1']").each(function (){32
33 alert(this.value)34
35})36
表单过滤器
表单对象属性管理器
jQuery元素筛选
jQuery的属性操作
遍历jQuery对象
xxxxxxxxxx291let hobbyEls = $(".hobby");2
3alert(hobbyEls)4
5for (let i = 0; i < hobbyEls.length; i++) {6
7 //[object HTMLInputElement]8 alert(hobbyEls[i]);9
10}11
12//jQuery中的遍历方法13 hobbyEls.each(function (){14
15 //this 是遍历时获取到的dom对象16 //[object HTMLInputElement]17 alert(this.value + " dom");18 19 alert($(this).val() + " jQuery");20
21 })22
23 //标签选择器24 $("input").each(function (){25
26 alert(this);27
28 })29
属性过滤选择器
xxxxxxxxxx231//通过属性过滤选择器选择所有被选中的多选框2function test01(){3
4 let $hobby = $(".hobby:checked");5
6 //遍历被选中的多选框7 $hobby.each(function (){8
9 alert(this.value);10
11 })12
13
14}15
16
17//通过属性值过滤标签18$("[name = 'hobby']").each(function (){19
20
21 alert(this)22
23 })
动态注册方法
xxxxxxxxxx431 //文本就绪函数2 $(function (){3
4 //全选5 $("[value = '全选']").click(function (){6
7 //遍历所有的多选框8 $(".hobby").each(function (){9
10 //将标签的checked设置为true11 $(this).prop("checked",true)12
13 })14
15 })16
17 //全不选18 $("[value = '全不选']").click(function (){19
20 //遍历所有的多选框21 $(".hobby").each(function (){22
23 //将标签的checked设置为false24 $(this).prop("checked",false)25
26 })27
28 })29
30 //反选31 $("[value = '反选']").click(function (){32
33 //遍历所有的多选框34 $(".hobby").each(function (){35
36 //将标签的checked设置为取非37 $(this).prop("checked",!this.checked)38
39 })40
41 })42
43 })
xxxxxxxxxx691$(function (){2
3 let u = new RegExp("^[A-z][A-z0-9-_]{3,16}$");4
5 let ps = new RegExp("[A-z0-9-_+*?!]{3,16}$");6
7
8 /*jQuery*/9 let usernameEl = $("#username");10
11 usernameEl.blur(function (){12
13 let username = $("#username").val();14
15 if (u.test(username)){16
17 $("#usernameSpan").text("用户名合法");18
19 $("#usernameSpan").prop("style","color:green");20
21
22 }else {23
24 $("#usernameSpan").text("用户名不合法");25
26 $("#usernameSpan").prop("style","color:red");27
28 }29
30 if (username.length == 0){31
32 $("#usernameSpan").text("");33
34 }35
36 })37
38 /*js原生*/39 let passwordEl = document.getElementById("password");40
41 passwordEl.onblur = function (){42
43 let password = passwordEl.value;44
45 let passwordSpan = document.getElementById("passwordSpan");46
47 if (ps.test(password)){48
49 passwordSpan.innerText = "密码合法";50
51 passwordSpan.style = "color:green";52
53 }else {54
55 passwordSpan.innerText = "密码不合法";56
57 passwordSpan.style = "color:red";58
59 }60
61 if (password.length == 0){62
63 passwordSpan.innerText = "";64
65 }66
67 }68
69})
内部插入:
a.appendTo(b)把a插入到b子元素末尾,成为最后一个子元素prependTo() a.prependTo(b)把a插到b所有子元素前面,成为第一个子元素xxxxxxxxxx21$("body").append("<input type='button' value='123456'>")2$("<input type='button' value='123456'>").appendTo($("span"));外部插入:
insertAfter() a.insertAfter(b)insertBefore() a.insertBefore(b)替换:
replaceWith() a.replaceWith(b) 用b替换掉a
replaceAl() a.replaceAll(b) 用a替换掉所有b
删除:
remove() a.remove(); 删除a标签
empty() a.empty(); 清空a标签里的内容
xxxxxxxxxx21$("a").remove();2$("a").empty();