Blogger Information
Blog 33
fans 0
comment 0
visits 27659
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
前端 - jQuery - DOM操作
Original
726 people have browsed it

前端 - 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操作的特点以及基本用法。
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!