1.jQuery选择器
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>选择器</title><style type="text/css">.show {width: 400px;height: 200px;border: 1px solid red;background-color: aquamarine;}.box {background-color: royalblue;}</style><!-- 注意:script标签不允许自结束 --><script src="https://code.jquery.com/jquery-3.5.0.js"></script><script type="text/javascript">/*** jQuery的选择器非常强大* 它完美的兼容css选择器,* 1、基本选择器(css)* 逗号选择器,* 子代选择器* 后代选择器* id* class* 通配符选择器** 2、过滤选择器* 3、属性选择器(css)* 4、css3提供的选择器*/$(function () {// id选择器$("#msg").css("color", "red");// 类选择器$(".item").css({"width": "200px","height": "30px","border": "1px solid red","color": "pink"});// 通配符选择$("*").css("border", "1px solid yellow");// 逗号选择器$(".item, #msg").css("border", "1px solid gray");// 子代选择器$(".list>li").css("border", "1px solid red")// 后代选择器$(".list li").css("border", "1px solid red")// 选择下一个兄弟节点$(".active+li").css("border", "1px solid red")// 选择之后的所有兄弟节点$(".active~li").css("border", "1px solid red")// 第一个$(".item:first").css("color", "red");$(".item").first().css("color", "red");// 最后一个$(".item:last").css("color", "red");$(".item").last().css("color", "red")// 第n个元素$(".item:eq(1)").css("color", "red")$(".item").eq(2).css("color", "red");// 大于$(".item:gt(2)").css("color", "red")// 小于$(".item:lt(5)").css("color", "red")// 奇数行$(".item:odd").css("background", "red").css("width", "500px").css("height", "30px");// 偶数行$(".item:even").css("background", "darkcyan").css("width", "500px").css("height", "30px");// 判断是否存在某个classconsole.log($(".show").hasClass("box"))$(".show").hover(function () {// 将js对象转换为jQuery,$(DOM对象)if ($(this).hasClass("box")) {$(this).removeClass("box")} else {$(this).addClass("box");}// 这样也可以 如果有则移除 没有则添加$(this).toggleClass("box");});// 通过属性选择器,添加类样式$("input[type$=tel]").addClass("box");// 选择具有子元素(包括文本子元素)的标签$(".item:parent").css("border", "1px solid red");// 选择包装集的父级$(".active").parent().css("border", "1px solid red");$(".active").parent("div").css("border", "1px solid red");$(".active").parents("ul").css("border", "1px solid red");// 选择子级标签$(".list").children().css("border", "1px solid red");$(".list").children("ul").css("border", "1px solid red");/*** find会在选择的包装集上继续向后代选择需要对象* 面试题:请说明jQuery中find和filter的区别?*/$(".list").find("li").css("border", "1px solid red");// 在选中的包装集上进行二次刷选$("li").filter(".first").css("border", "1px solid red");/*** 如下的选择器都是选择兄弟节点*/$(".first~li").css("border", "1px solid red");// 后面的兄弟节点$(".first").nextAll("li").css("border", "1px solid red");// 下一个兄弟节点$(".first").next("div").css("border", "1px solid red");// 前面一个兄弟节点$(".active").prev().css("border", "1px solid red");// 前面的所有兄弟节点$(".active").prevAll("li").css("border", "1px solid red")// 所有的兄弟节点$(".active").siblings("li").css("border", "1px solid red");});</script></head><body><div id="msg">这个是一个div</div><ul class="list"><li class="first"><ul><li>这个是孙子列表1</li><li>这个是孙子列表2</li><li>这个是孙子列表3</li><li>这个是孙子列表4</li><li>这个是孙子列表5</li></ul></li><li class="item">这个是一个列表</li><li class="item">这个是一个列表</li><li class="item active">这个是一个列表</li><li class="item">这个是一个列表</li><li class="item"></li><div id="msg">这个是一个div</div><ul><li class="item"></li><li class="item">这个是一个列表</li><li class="item">这个是一个列表</li></ul></ul><div class="show box"></div><input type="tel" name="" id="" value="" /></body></html>
2jQuery动画
系统的动画方法
jQuery提供了强大的动画API的支持,包括十种三类动画效果
<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style type="text/css">.box {margin-top: 50px;height: 250px;width: 250px;border: 1px solid purple;background-color: black;}</style><script src="https://code.jquery.com/jquery-3.5.0.js"></script><script type="text/javascript">function myHide() {/*** 如果hide中传递字符串,那么可以传递如下三个字符串* slow normal fast*/// $(".box").hide("fast");// $(".box").hide("normal");// $(".box").hide("slow");/*** 如果hide中传递数字,则表示动画执行的时间,单位是毫秒*/$(".box").hide(2000);}function myShow() {$(".box").show(2000);}function change() {$(".box").toggle(2000);}function myHide2() {$(".box").fadeOut(2000);// $(".box").fadeTo(2000, 0.2, function() {// $(".box").fadeTo(2000, 1);// })}function myShow2() {$(".box").fadeIn(2000);}function change2() {$(".box").fadeToggle(2000);}function myHide3() {$(".box").slideUp(2000)}function myShow3() {$(".box").slideDown(2000);}function change3() {$(".box").slideToggle(2000);}</script></head><body><button onclick="myHide()">缩放消失</button><button onclick="myShow()">缩放显示</button><button onclick="change()">缩放变化</button><button onclick="myHide2()">透明度隐藏</button><button onclick="myShow2()">透明度显示</button><button onclick="change2()">透明度变化</button><button onclick="myHide3()">卷帘隐藏</button><button onclick="myShow3()">卷帘显示</button><button onclick="change3()">卷帘变化</button><br /><div class="box"></div></body></html>
3.常见API操作
4.jQuery DOM操作
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>jQuery DOM操作</title><script src="js/lib/jquery-1.12.4.js"></script><script type="text/javascript">$(function () {/*** 子节点的操作*/// append 为包装集增加最后一个子节点$(".list").append("<li>刘建宏是个大帅锅~~</li>");// prepend 为包装集增加第一个子节点$(".list").prepend("<li>这个是第一个li</li>");// 变种写法$("<div>嘿嘿</div>").appendTo(".list");$("<div>嘿嘿</div>").prependTo(".list");/*** 兄弟节点的操作*/$(".active").before("<li>这个是一个新的节点</li>");$(".active").after("<div>这个是之后的一个兄弟节点</div>")$(".active").insertAfter(".show")$("<li>这个是一个新的节点</li>").insertAfter(".show");$("<li>这个是一个新的节点</li>").insertBefore(".active");// 父节点操作$("ul").wrap("<div class='container'></div>");// js中DOM对象是无法自杀的,父级可以移除子集var node = document.getElementsByClassName("active")[0];node.parentNode.removeChild(node)// jQuery 可以自杀$(".active").remove();// 复制克隆节点$(".msg").append($(".active").clone())});</script></head><body><ul class="list"><li>这个是列表1</li><li>这个是列表2</li><li>这个是列表3</li><li class="active">这个是列表4</li><li class="show">这个是列表5</li><li>这个是列表6</li><li>这个是列表7</li><li>这个是列表8</li><li>这个是列表9</li><li>这个是列表10</li></ul><div class="msg"></div></body></html>
5.jQuery事件处理
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>jQuery处理事件</title><script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script></head><body><button id="btn">内容</button><script type="text/javascript">$(function () {// 获取节点,使用对应是事件函数完成事件的绑定$("#btn").click(function (e) {alert("事件被触发了……")console.info(e)})/*** 事件监听 jQuery*/$("#btn").on("click", function (e) {alert("事件被触发了……")})/*** 在jQuery中on 和bind 绑定事件是存在区别的,* 3.x版以及取消了bind方法* on 还可以做事件委托*/$("#btn").on("click", "body", function () {});// 事件最后由body处理$("body").click(function () {alert("body 触发了click事件")})});</script></body></html>
