1.jQuery选择器

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>选择器</title>
  6. <style type="text/css">
  7. .show {
  8. width: 400px;
  9. height: 200px;
  10. border: 1px solid red;
  11. background-color: aquamarine;
  12. }
  13. .box {
  14. background-color: royalblue;
  15. }
  16. </style>
  17. <!-- 注意:script标签不允许自结束 -->
  18. <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
  19. <script type="text/javascript">
  20. /**
  21. * jQuery的选择器非常强大
  22. * 它完美的兼容css选择器,
  23. * 1、基本选择器(css)
  24. * 逗号选择器,
  25. * 子代选择器
  26. * 后代选择器
  27. * id
  28. * class
  29. * 通配符选择器*
  30. * 2、过滤选择器
  31. * 3、属性选择器(css)
  32. * 4、css3提供的选择器
  33. */
  34. $(function () {
  35. // id选择器
  36. $("#msg").css("color", "red");
  37. // 类选择器
  38. $(".item").css({
  39. "width": "200px",
  40. "height": "30px",
  41. "border": "1px solid red",
  42. "color": "pink"
  43. });
  44. // 通配符选择
  45. $("*").css("border", "1px solid yellow");
  46. // 逗号选择器
  47. $(".item, #msg").css("border", "1px solid gray");
  48. // 子代选择器
  49. $(".list>li").css("border", "1px solid red")
  50. // 后代选择器
  51. $(".list li").css("border", "1px solid red")
  52. // 选择下一个兄弟节点
  53. $(".active+li").css("border", "1px solid red")
  54. // 选择之后的所有兄弟节点
  55. $(".active~li").css("border", "1px solid red")
  56. // 第一个
  57. $(".item:first").css("color", "red");
  58. $(".item").first().css("color", "red");
  59. // 最后一个
  60. $(".item:last").css("color", "red");
  61. $(".item").last().css("color", "red")
  62. // 第n个元素
  63. $(".item:eq(1)").css("color", "red")
  64. $(".item").eq(2).css("color", "red");
  65. // 大于
  66. $(".item:gt(2)").css("color", "red")
  67. // 小于
  68. $(".item:lt(5)").css("color", "red")
  69. // 奇数行
  70. $(".item:odd").css("background", "red")
  71. .css("width", "500px")
  72. .css("height", "30px");
  73. // 偶数行
  74. $(".item:even").css("background", "darkcyan")
  75. .css("width", "500px")
  76. .css("height", "30px");
  77. // 判断是否存在某个class
  78. console.log($(".show").hasClass("box"))
  79. $(".show").hover(function () {
  80. // 将js对象转换为jQuery,$(DOM对象)
  81. if ($(this).hasClass("box")) {
  82. $(this).removeClass("box")
  83. } else {
  84. $(this).addClass("box");
  85. }
  86. // 这样也可以 如果有则移除 没有则添加
  87. $(this).toggleClass("box");
  88. });
  89. // 通过属性选择器,添加类样式
  90. $("input[type$=tel]").addClass("box");
  91. // 选择具有子元素(包括文本子元素)的标签
  92. $(".item:parent").css("border", "1px solid red");
  93. // 选择包装集的父级
  94. $(".active").parent().css("border", "1px solid red");
  95. $(".active").parent("div").css("border", "1px solid red");
  96. $(".active").parents("ul").css("border", "1px solid red");
  97. // 选择子级标签
  98. $(".list").children().css("border", "1px solid red");
  99. $(".list").children("ul").css("border", "1px solid red");
  100. /**
  101. * find会在选择的包装集上继续向后代选择需要对象
  102. * 面试题:请说明jQuery中find和filter的区别?
  103. */
  104. $(".list").find("li").css("border", "1px solid red");
  105. // 在选中的包装集上进行二次刷选
  106. $("li").filter(".first").css("border", "1px solid red");
  107. /**
  108. * 如下的选择器都是选择兄弟节点
  109. */
  110. $(".first~li").css("border", "1px solid red");
  111. // 后面的兄弟节点
  112. $(".first").nextAll("li").css("border", "1px solid red");
  113. // 下一个兄弟节点
  114. $(".first").next("div").css("border", "1px solid red");
  115. // 前面一个兄弟节点
  116. $(".active").prev().css("border", "1px solid red");
  117. // 前面的所有兄弟节点
  118. $(".active").prevAll("li").css("border", "1px solid red")
  119. // 所有的兄弟节点
  120. $(".active").siblings("li").css("border", "1px solid red");
  121. });
  122. </script>
  123. </head>
  124. <body>
  125. <div id="msg">这个是一个div</div>
  126. <ul class="list">
  127. <li class="first">
  128. <ul>
  129. <li>这个是孙子列表1</li>
  130. <li>这个是孙子列表2</li>
  131. <li>这个是孙子列表3</li>
  132. <li>这个是孙子列表4</li>
  133. <li>这个是孙子列表5</li>
  134. </ul>
  135. </li>
  136. <li class="item">这个是一个列表</li>
  137. <li class="item">这个是一个列表</li>
  138. <li class="item active">这个是一个列表</li>
  139. <li class="item">这个是一个列表</li>
  140. <li class="item"></li>
  141. <div id="msg">这个是一个div</div>
  142. <ul>
  143. <li class="item"></li>
  144. <li class="item">这个是一个列表</li>
  145. <li class="item">这个是一个列表</li>
  146. </ul>
  147. </ul>
  148. <div class="show box">
  149. </div>
  150. <input type="tel" name="" id="" value="" />
  151. </body>
  152. </html>

2jQuery动画

系统的动画方法
jQuery提供了强大的动画API的支持,包括十种三类动画效果

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style type="text/css">
  7. .box {
  8. margin-top: 50px;
  9. height: 250px;
  10. width: 250px;
  11. border: 1px solid purple;
  12. background-color: black;
  13. }
  14. </style>
  15. <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
  16. <script type="text/javascript">
  17. function myHide() {
  18. /**
  19. * 如果hide中传递字符串,那么可以传递如下三个字符串
  20. * slow normal fast
  21. */
  22. // $(".box").hide("fast");
  23. // $(".box").hide("normal");
  24. // $(".box").hide("slow");
  25. /**
  26. * 如果hide中传递数字,则表示动画执行的时间,单位是毫秒
  27. */
  28. $(".box").hide(2000);
  29. }
  30. function myShow() {
  31. $(".box").show(2000);
  32. }
  33. function change() {
  34. $(".box").toggle(2000);
  35. }
  36. function myHide2() {
  37. $(".box").fadeOut(2000);
  38. // $(".box").fadeTo(2000, 0.2, function() {
  39. // $(".box").fadeTo(2000, 1);
  40. // })
  41. }
  42. function myShow2() {
  43. $(".box").fadeIn(2000);
  44. }
  45. function change2() {
  46. $(".box").fadeToggle(2000);
  47. }
  48. function myHide3() {
  49. $(".box").slideUp(2000)
  50. }
  51. function myShow3() {
  52. $(".box").slideDown(2000);
  53. }
  54. function change3() {
  55. $(".box").slideToggle(2000);
  56. }
  57. </script>
  58. </head>
  59. <body>
  60. <button onclick="myHide()">缩放消失</button>
  61. <button onclick="myShow()">缩放显示</button>
  62. <button onclick="change()">缩放变化</button>
  63. <button onclick="myHide2()">透明度隐藏</button>
  64. <button onclick="myShow2()">透明度显示</button>
  65. <button onclick="change2()">透明度变化</button>
  66. <button onclick="myHide3()">卷帘隐藏</button>
  67. <button onclick="myShow3()">卷帘显示</button>
  68. <button onclick="change3()">卷帘变化</button>
  69. <br />
  70. <div class="box"></div>
  71. </body>
  72. </html>

3.常见API操作

4.jQuery DOM操作

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>jQuery DOM操作</title>
  6. <script src="js/lib/jquery-1.12.4.js"></script>
  7. <script type="text/javascript">
  8. $(function () {
  9. /**
  10. * 子节点的操作
  11. */
  12. // append 为包装集增加最后一个子节点
  13. $(".list").append("<li>刘建宏是个大帅锅~~</li>");
  14. // prepend 为包装集增加第一个子节点
  15. $(".list").prepend("<li>这个是第一个li</li>");
  16. // 变种写法
  17. $("<div>嘿嘿</div>").appendTo(".list");
  18. $("<div>嘿嘿</div>").prependTo(".list");
  19. /**
  20. * 兄弟节点的操作
  21. */
  22. $(".active").before("<li>这个是一个新的节点</li>");
  23. $(".active").after("<div>这个是之后的一个兄弟节点</div>")
  24. $(".active").insertAfter(".show")
  25. $("<li>这个是一个新的节点</li>").insertAfter(".show");
  26. $("<li>这个是一个新的节点</li>").insertBefore(".active");
  27. // 父节点操作
  28. $("ul").wrap("<div class='container'></div>");
  29. // js中DOM对象是无法自杀的,父级可以移除子集
  30. var node = document.getElementsByClassName("active")[0];
  31. node.parentNode.removeChild(node)
  32. // jQuery 可以自杀
  33. $(".active").remove();
  34. // 复制克隆节点
  35. $(".msg").append($(".active").clone())
  36. });
  37. </script>
  38. </head>
  39. <body>
  40. <ul class="list">
  41. <li>这个是列表1</li>
  42. <li>这个是列表2</li>
  43. <li>这个是列表3</li>
  44. <li class="active">这个是列表4</li>
  45. <li class="show">这个是列表5</li>
  46. <li>这个是列表6</li>
  47. <li>这个是列表7</li>
  48. <li>这个是列表8</li>
  49. <li>这个是列表9</li>
  50. <li>这个是列表10</li>
  51. </ul>
  52. <div class="msg"></div>
  53. </body>
  54. </html>

5.jQuery事件处理

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>jQuery处理事件</title>
  6. <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js">
  7. </script>
  8. </head>
  9. <body>
  10. <button id="btn">内容</button>
  11. <script type="text/javascript">
  12. $(function () {
  13. // 获取节点,使用对应是事件函数完成事件的绑定
  14. $("#btn").click(function (e) {
  15. alert("事件被触发了……")
  16. console.info(e)
  17. })
  18. /**
  19. * 事件监听 jQuery
  20. */
  21. $("#btn").on("click", function (e) {
  22. alert("事件被触发了……")
  23. })
  24. /**
  25. * 在jQuery中on 和bind 绑定事件是存在区别的,
  26. * 3.x版以及取消了bind方法
  27. * on 还可以做事件委托
  28. */
  29. $("#btn").on("click", "body", function () {});
  30. // 事件最后由body处理
  31. $("body").click(function () {
  32. alert("body 触发了click事件")
  33. })
  34. });
  35. </script>
  36. </body>
  37. </html>