1、DOM操作
1.1 操作内容
方法 | 描述 |
text() | 获取/设置元素的标签体纯文本内容 |
html() | 获取/设置元素的标签体超文本内容 |
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>操作内容</title> <style> div{ width: 200px; height: 50px; border: 1px solid red; margin: 5px; } </style> <script src="js/jquery-3.4.1.js"></script> <script> $(function(){ $("#d1").html("<a href='#'>链接</a>"); $("#d2").text("<a href='#'>链接</a>") console.log($("#d3").html()); console.log($("#d3").text()); }); </script> </head> <body> <div id="d1"></div> <div id="d2"></div> <div id="d3"><a href="">111</a></div> <div id="d4"><a href="">111</a></div> </body> </html>
复制
1.2 操作属性
方法 | 描述 | 对比 |
val() | 获取/设置元素的value属性值 | 相当于:js对象.value |
attr() | 获取/设置元素的属性 | 相当于:js对象.setAttribute() / js对象.getAttribute() |
removeAttr() | 删除属性 |
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>操作属性</title> <script src="js/jquery-3.4.1.js"></script> <script> $(function() { // 文本框value属性 console.log($("#username").val()); console.log($("#username").attr('value')); // 添加属性--获取属性 $("#username").attr("class", "user"); console.log($("#username").attr("class")); // 修改属性 $("#username").attr("class", "u"); console.log($("#username").attr("class")); // 删除属性 $("#username").removeAttr("class"); console.log($("#username").attr("class")); }); </script> </head> <body> <form action="#" method="get"> 姓名 <input type="text" name="username" id="username" value="德玛西亚" /> <br /> 爱好 <input id="hobby" type="checkbox" name="hobby" value="perm" checked="checked">烫头<br /> <input type="reset" value="清空按钮" /> <input type="submit" value="提交按钮" /><br /> </form> </body> </html>
复制
1.3 操作样式
方法 | 描述 |
css() | 获取/设置样式 |
addClass() | 添加class属性值 |
removeClass() | 删除class属性值 |
toggleClass() | 切换class属性,有则删除,没有则添加 |
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>操作样式</title> <script src="js/jquery-3.4.1.js"></script> <style> .red{ color: red; } .blue{ color: blue; } .pink{ color: hotpink; } </style> <script> $(function(){ // 设置样式 $("ul li").css("background-color","aqua") // 添加class属性 $("li:last").addClass("blue"); // 删除class属性 $("li:first").removeClass(); // 切换属性 $("li").toggleClass("pink"); }); </script> </head> <body> <ul> <li class="red">1</li> <li>2</li> <li class="pink">3</li> <li>4</li> <li>5</li> </ul> </body> </html>
复制
1.4 操作元素(节点操作)
方法 | 描述 |
append() | 在父标签中将子标签放在最后一个位置 |
prepend() | 在父标签中将子标签放在第一个位置 |
appendTo() | 例如:A.appendTo(B),将A追加到B元素后 |
prependTo() | 例如:A.prependTo(B),将A添加到B元素前 |
after() | 在该元素后面添加 |
before() | 在改元素前面添加 |
wrap() | 给该元素添加父元素 |
unwrap() | 去掉该元素的父元素 |
empty() | 清空子元素 |
remove() | 删除自己 |
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>操作元素</title> <script src="js/jquery-3.4.1.js"></script> <script> $(function(){ // append() $("ul").append("<li>666</li>"); // prepend() $("ul").prepend("<li>000</li>"); // appendTo() $("#li3").appendTo("#li1") // prependTo() $("#li5").prependTo("#li1") // after() $("ul").after("<div id='cls1'>777</div>") // before() $("ul").before("<div><span>-1-1-1</span></div>") // wrap() $("#cls1").wrap("<div class='cls'></div>") // unwrap() $("div span").unwrap() // empty() $("ul").empty() // remove() $("ul").remove() }); </script> </head> <body> <ul> <li id="li1">111</li> <li>222</li> <li id="li3">333</li> <li>444</li> <li id="li5">555</li> </ul> </body> </html>
复制
2、事件绑定
jQuery的事件与js的事件的功能和作用一样,只是在使用语法上稍微有些差异。
2.1 jQ事件绑定语法
jQ对象.事件函数(function(){})
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>jQ事件绑定</title> <script src="js/jquery-3.4.1.js"></script> <script> $(function(){ $(".btn").click(function(){ let vl = $(this).val(); console.log(vl) }) }); </script> </head> <body> <input type="button" value="按钮1" class="btn"> <br> <input type="button" value="按钮2" class="btn"> <br> </body> </html>
复制
2.2 常见事件
2.2.1 点击事件
事件 | 描述 |
click() | 单击事件 |
dblclick() | 双击事件 |
2.2.2 焦点事件
事件 | 描述 |
blur() | 失去焦点 |
focus() | 元素获得焦点 |
2.2.3 鼠标事件
事件 | 描述 |
mousedown() | 鼠标按钮被按下 |
mouseup() | 鼠标按键被松开 |
mousemove() | 鼠标被移动 |
mouseover() | 鼠标移到某元素之上 |
mouseout() | 鼠标从某元素移开 |
2.2.4 键盘事件
事件 | 描述 |
keydown() | 某个键盘按键被按下 |
keyup() | 某个键盘按键被松开 |
keypress() | 某个键盘按键被按下并松开 |
2.2.5 改变事件
事件 | 描述 |
change() | 域的内容被改变 |
2.2.6 表单事件
事件 | 描述 |
submit() | 提交按钮被点击 |
2.2.7 事件切换
事件 | 描述 |
hover([over,]out) | 鼠标移入执行over函数,鼠标移出执行out函数 |
2.3 注册验证
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>注册验证</title> <script src="js/jquery-3.4.1.js"></script> <script> $(function(){ let userFlag = false; let pwdFlag = false; let phoneFlag = false; $("input[name='username']").change(function(){ // console.log($(this).val()) let uname = $(this).val(); let uReg = /^[a-zA-Z].{5,7}$/; if(uReg.test(uname)){ $("#u1").html("✔").css("color","green"); userFlag = true; } else{ $("#u1").html("✘").css("color","red"); userFlag = false; } }); $("input[name='password']").change(function(){ // console.log($(this).val()) let pwd = $(this).val(); let pwdReg = /^[a-zA-Z0-9]{6,8}$/; if(pwdReg.test(pwd)){ $("#p1").html("✔").css("color","green"); pwdFlag = true; } else{ $("#p1").html("✘").css("color","red"); pwdFlag = false; } }); $("input[name='phone']").change(function(){ // console.log($(this).val()) let phone = $(this).val(); let pReg = /^[1][3-9][0-9]{9}$/; if(pReg.test(phone)){ $("#ph1").html("✔").css("color","green"); phoneFlag = true; } else{ $("#ph1").html("✘").css("color","red"); phoneFlag = false; } }); $("form").submit(function(){ if(userFlag && pwdFlag && phoneFlag){ return true; } else{ return false; } }) }); </script> </head> <body> <form action=""> 账号:<input type="text" name="username" /><span id="u1"></span><br /> 密码:<input type="password" name="password" /><span id="p1"></span><br /> 手机:<input type="tel" name="phone" /><span id="ph1"></span><br /> <input type="submit" value="注册" /> </form> </body> </html>
复制