博客列表 >前端 - jQuery - DOM操作

前端 - jQuery - DOM操作

郴
原创
2020年06月24日 13:06:09715浏览

前端 - jQuery - DOM操作

一、基础语法

  • $(选择器).操作();
  1. <!DOCTYPE html>
  2. <html lang="zh_hans">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <script src="../jquery/jquery.min.js"></script>
  8. </head>
  9. <ul>
  10. <li>01</li>
  11. <li>02</li>
  12. <li>03</li>
  13. <li>04</li>
  14. </ul>
  15. <body>
  16. <script>
  17. //使用包含 CSS 选择器的字符串匹配一组元素
  18. var lis = $("li");
  19. console.log(lis);
  20. //动态创建一个元素
  21. var li05 = $("<li>li05</li>");
  22. console.log(li05);
  23. </script>
  24. </body>
  25. </html>

二、选择器

  1. <!DOCTYPE html>
  2. <html lang="zh_hans">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <script src="https://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
  8. </head>
  9. <ul id="ul">
  10. <li class="li">01</li>
  11. <li class="li active">02</li>
  12. <li class="li" id="li03">03</li>
  13. <li class="li active">04</li>
  14. </ul>
  15. <div class="d1">
  16. <div class="d2">
  17. <div class="d3"></div>
  18. </div>
  19. <div class="d4"></div>
  20. <div class="d5"></div>
  21. <div class="d6"></div>
  22. </div>
  23. <form action="">
  24. <input type="text" name="username" id="username" />
  25. <input type="hidden" value="h123" />
  26. <input type="radio" value="篮球" />
  27. <input type="checkbox" value="足球" />
  28. <input type="password" name="password" id="password" />
  29. <input type="file" name="" id="" />
  30. <button type="submit">提交</button>
  31. </form>
  32. <form action="">
  33. <input type="text" disabled />
  34. </form>
  35. <select>
  36. <option value="1">Flowers</option>
  37. <option value="2" selected="selected">Gardens</option>
  38. <option value="3">Trees</option>
  39. </select>
  40. <body>
  41. <script>
  42. // 1. 基本
  43. //根据ID获取元素
  44. var ul = $("#ul");
  45. console.log(ul);
  46. //根据标签名获取元素
  47. var lis = $("li");
  48. console.log(lis);
  49. //根据类名获取元素
  50. var lis1 = $(".li");
  51. console.log(lis1);
  52. // 2. 层级
  53. //选择指定父元素下的所有指定的子元素(递归)
  54. var ds = $(".d1 div");
  55. console.log(ds);
  56. //选择指定父元素下的所有指定的子元素
  57. var d2 = $(".d1 > div");
  58. console.log(d2);
  59. //选择指定元素后紧接着的指定的兄弟元素
  60. var d = $(".d2 + div");
  61. console.log(d);
  62. //选择指定元素后的所有指定的兄弟元素
  63. var dd = $(".d2 ~ div");
  64. console.log(dd);
  65. // 3. 基本
  66. //匹配第一个元素
  67. var li01 = $("li:first")[0];
  68. console.log(li01);
  69. //匹配索引为偶数的元素
  70. var li2 = $("li:even");
  71. console.log(li2);
  72. //匹配索引为奇数的元素
  73. var li3 = $("li:odd");
  74. console.log(li3);
  75. //匹配指定索引的元素
  76. var li02 = $("li:eq(1)")[0];
  77. console.log(li02);
  78. //匹配大于指定索引的元素
  79. var li4 = $("li:gt(1)");
  80. console.log(li4);
  81. //匹配最后一个元素
  82. var li03 = $("li:last")[0];
  83. console.log(li03);
  84. //匹配小于指定索引的元素
  85. var li5 = $("li:lt(2)");
  86. console.log(li5);
  87. // 4. 内容
  88. //匹配包含给定文本的元素
  89. var l01 = $("li:contains('01')");
  90. console.log(l01[0]);
  91. //匹配不包含子元素或者文本的空元素
  92. var ndiv = $("div:empty");
  93. console.log(ndiv);
  94. //匹配含有指定元素的元素
  95. var ddiv = $("div:has('div')");
  96. console.log(ddiv);
  97. //匹配包含子元素或者文本的元素
  98. var hli = $("li:parent");
  99. console.log(hli);
  100. // 5. 可见性
  101. //匹配不可见元素
  102. var hin = $("form input:hidden");
  103. console.log(hin[0]);
  104. //匹配可见元素
  105. var vin = $("form input:visible");
  106. console.log(vin);
  107. // 6. 属性
  108. //匹配包含指定属性的元素
  109. var ili = $("li[id]");
  110. console.log(ili[0]);
  111. //匹配包含指定属性值的元素
  112. var pin = $("form input[type='password']");
  113. console.log(pin[0]);
  114. //匹配包含某些属性值的元素
  115. var ali = $("li[class*='active']");
  116. console.log(ali);
  117. // 7. 子元素
  118. //匹配第一个子元素
  119. var c1 = $("ul li:first-child");
  120. console.log(c1[0]);
  121. //匹配同类型的第一个元素
  122. var c2 = $("ul li:first-of-type");
  123. console.log(c2[0]);
  124. //匹配最后一个子元素
  125. var c3 = $("ul li:last-child");
  126. console.log(c3[0]);
  127. //匹配同类型的最后一个元素
  128. var c4 = $("ul li:last-of-type");
  129. console.log(c4[0]);
  130. //匹配指定的子元素
  131. var c5 = $("ul li:nth-child(2)");
  132. console.log(c5[0]);
  133. //匹配指定的子元素,从末尾数起
  134. var c6 = $("ul li:nth-last-child(2)");
  135. console.log(c6[0]);
  136. //匹配指定的同类型的子元素
  137. var c7 = $("ul li:nth-of-type(3)");
  138. console.log(c7[0]);
  139. //匹配只有一个子元素
  140. var c8 = $("form input:only-child");
  141. console.log(c8[0]);
  142. // 8. 表单
  143. //匹配单行文本框
  144. var b1 = $(":text");
  145. console.log(b1);
  146. //匹配密码框
  147. var b2 = $(":password");
  148. console.log(b2[0]);
  149. //匹配单选按钮
  150. var b3 = $(":radio");
  151. console.log(b3[0]);
  152. //匹配复选框
  153. var b4 = $(":checkbox");
  154. console.log(b4[0]);
  155. //匹配提交按钮
  156. var b5 = $(":submit");
  157. console.log(b5[0]);
  158. //匹配按钮
  159. var b6 = $(":button");
  160. console.log(b6[0]);
  161. //匹配文件域
  162. var b7 = $(":file");
  163. console.log(b7[0]);
  164. //匹配隐藏元素
  165. var b8 = $("input:hidden");
  166. console.log(b8[0]);
  167. // 9.表单对象属性
  168. //匹配可用的input元素
  169. var v1 = $("input:enabled");
  170. console.log(v1);
  171. //匹配不可用的input元素
  172. var v2 = $("input:disabled");
  173. console.log(v2[0]);
  174. //匹配被选中的元素
  175. var v3 = $("input:checked");
  176. console.log(v3[0]);
  177. //匹配被选中的option元素
  178. var v4 = $("select option:selected");
  179. console.log(v4[0]);
  180. </script>
  181. </body>
  182. </html>

三、属性

  1. <!DOCTYPE html>
  2. <html lang="zh_hans">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <script src="https://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
  8. <style>
  9. .active {
  10. color: blue;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <ul id="ul01">
  16. <li class="li01">01</li>
  17. <li>02</li>
  18. <li>03</li>
  19. <li>04</li>
  20. </ul>
  21. </body>
  22. <form action="">
  23. <input type="radio" value="篮球" name="" id="" />
  24. </form>
  25. <script>
  26. // 1. 属性
  27. //获取指定属性值
  28. var ul = $("ul").attr("id");
  29. console.log(ul);
  30. //删除属性
  31. var li01 = $("ul li:nth-of-type(1)");
  32. li01.removeAttr("class");
  33. console.log(li01[0]);
  34. //设置属性值
  35. var li02 = $("ul li:nth-of-type(2)");
  36. li02.prop({
  37. class: "li02",
  38. style: "color: red;",
  39. });
  40. console.log(li02[0]);
  41. // 2. CSS类
  42. //添加一个类
  43. li01.addClass("active");
  44. //删除一个类
  45. li02.removeClass("li02");
  46. //存在则删除,不存在则添加一个类
  47. var li03 = $("ul li:nth-of-type(3)");
  48. li03.toggleClass("li03");
  49. console.log(li03[0]);
  50. // 3. HTML代码/文本/值
  51. //获取文本内容
  52. console.log(li03.html());
  53. //设置文本内容
  54. li02.text("0202");
  55. console.log(li02[0]);
  56. //获取value值
  57. var val = $("form input").val();
  58. console.log(val);
  59. //设置value值
  60. $("form input").val("足球");
  61. console.log($("form input")[0]);
  62. </script>
  63. </html>

四、文档处理

  1. <!DOCTYPE html>
  2. <html lang="zh_hans">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <script src="https://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
  8. </head>
  9. <body>
  10. <ul id="u01">
  11. <li>01</li>
  12. <li>02</li>
  13. <li>03</li>
  14. <li>04</li>
  15. </ul>
  16. <li class="oli">1</li>
  17. <li class="oli">2</li>
  18. <li class="oli">3</li>
  19. <li class="oli">4</li>
  20. <li class="o2li">1</li>
  21. <li class="o2li">2</li>
  22. <li class="o2li">3</li>
  23. <li class="o2li">4</li>
  24. <div style="color: blue;">
  25. <p>123</p>
  26. </div>
  27. </body>
  28. <script>
  29. // 1. 内部插入
  30. //在末尾插入一个子元素
  31. $("ul").append("<li>05</li>");
  32. //将子元素插入到该元素的末尾
  33. $("<li>06</li>").appendTo("ul");
  34. //在起始位置插入一个子元素
  35. $("ul").prepend("<li>00</li>");
  36. //将子元素插入到该元素的起始位置
  37. $("<li>-1</li>").prependTo("ul");
  38. // 2. 外部插入
  39. //在元素后面添加一个元素
  40. $("ul li:last-child").after("<li>001</li>");
  41. //在元素前面添加一个元素
  42. $("ul li:first-child").before("<li>002</li>");
  43. //将元素添加到该元素的后面
  44. $("<li>003</li>").insertAfter("ul li:last-child");
  45. //将元素添加到该元素的前面
  46. $("<li>004</li>").insertBefore("ul li:first-child");
  47. // 3. 包裹
  48. //把一个元素用另一个元素包裹起来
  49. $(".oli").wrap("<ol></ol>");
  50. //移除父元素
  51. $("p").unwrap();
  52. //把所有元素用另一个元素包裹起来
  53. $(".o2li").wrapAll("<ol></ol>");
  54. // 4. 替换
  55. //替换元素
  56. console.log($("ul li").length);
  57. $("ul li").replaceWith("<p>hello</p>");
  58. //用新元素把旧元素给替换掉
  59. $("<li>test</li>").replaceAll("ul p");
  60. // 5. 删除
  61. //删除元素
  62. $(".oli:last").remove();
  63. //删除子元素
  64. $("#u01").empty();
  65. // 6. 复制
  66. var lili02 = $(".o2li").clone();
  67. console.log(lili02);
  68. </script>
  69. </html>

五、课程总结

  • 今天学习了 jQuery 的基础知识和DOM操作,通过上课认真听讲和认真完成老师布置的作业,使得我对 jQuery的理解和运用更加深入和熟悉。最主要的知识点是明白和掌握了DOM操作的特点以及基本用法。
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议