Blogger Information
Blog 60
fans 5
comment 3
visits 65306
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
jQuery DOM操作相关知识
longlong
Original
595 people have browsed it

1. jQuery DOM操作

1.1 css() 方法

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>JQ css()方法</title>
  7. <style>
  8. p {
  9. color: red;
  10. width: 200px;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <p>我是一个段落</p>
  16. <script src="../jquery/jquery-3.5.1.min.js"></script>
  17. <script>
  18. // 1. 只有一个参数时,表示获取元素的样式
  19. console.log($("p").css("color"));
  20. console.log($("p").css("width"));
  21. // 2. 有两个参数时,表示设置元素样式
  22. $("p").css("background", "yellow");
  23. // 3. 支持同时设置多个样式
  24. $("p").css({
  25. background: "green",
  26. "font-size": "2rem",
  27. });
  28. // 4. 第二个参数支持回调
  29. $("p").css("background", function () {
  30. var bgc = ["lightgreen", "lightyellow", "lightblue"];
  31. return bgc[Math.floor(Math.random() * 4)];
  32. });
  33. </script>
  34. </body>
  35. </html>

1.2 val() 方法

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>JQ val()方法</title>
  7. </head>
  8. <body>
  9. <form action="">
  10. <input type="text" name="demo" value="demo" />
  11. <div>
  12. <button>点我获取value值</button>
  13. <button>点我设置value值</button>
  14. <button>点我得到默认值</button>
  15. </div>
  16. </form>
  17. <script src="../jquery/jquery-3.5.1.min.js"></script>
  18. <script>
  19. // 1. 获取value值
  20. $("button:first-of-type").click(function (ev) {
  21. ev.preventDefault();
  22. $("<p>").text($("input").val()).appendTo("body");
  23. });
  24. // 2. 设置value值
  25. $("button:nth-of-type(2)").click(function (ev) {
  26. ev.preventDefault();
  27. $("input").val("我被更新了");
  28. });
  29. // 3. 获取默认value值
  30. $("button:last-of-type").click(function (ev) {
  31. ev.preventDefault();
  32. $("input").val(function () {
  33. return this.defaultValue;
  34. });
  35. });
  36. </script>
  37. </body>
  38. </html>

1.3 text()html() 方法

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>JQ text()和html()方法</title>
  7. </head>
  8. <body>
  9. <h3>测试文本</h3>
  10. <button>点我获取文本内容</button>
  11. <button>点我设置文本内容</button>
  12. <button>点我修改文本内容与颜色</button>
  13. <button>点我动态改变内容</button>
  14. <script src="../jquery/jquery-3.5.1.min.js"></script>
  15. <script>
  16. // 1. 获取文本内容
  17. $("button:first-of-type").click(function () {
  18. console.log($("h3").text());
  19. console.log($("h3").html());
  20. });
  21. // 2. 设置文本内容
  22. $("button:nth-of-type(2)").click(function () {
  23. $("h3").text("我被更新了");
  24. $("h3").html("我被更新了");
  25. });
  26. // 3. text()与html()的区别:都可以设置或获取文本内容,但html()可以识别html标签
  27. $("button:nth-of-type(3)").click(function () {
  28. $("h3").html("<h1>我又被更新了</h1>").css("color", "red");
  29. });
  30. // 4. 两种方法都支持回调
  31. $("button:last-of-type").click(function () {
  32. $("h3").text(function () {
  33. var arr = ["你是风,我是雨", "你是天,我是地"];
  34. var random = Math.floor(Math.random() * 2);
  35. return arr[random];
  36. });
  37. });
  38. </script>
  39. </body>
  40. </html>

1.4 获取元素位置信息

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>获取元素位置信息</title>
  7. <style>
  8. * {
  9. margin: 0;
  10. padding: 0;
  11. box-sizing: border-box;
  12. }
  13. div {
  14. background-color: lightblue;
  15. width: 300px;
  16. margin: 50px 60px;
  17. position: relative;
  18. }
  19. p {
  20. background-color: lightcoral;
  21. width: 100px;
  22. height: 30px;
  23. margin: 10px 0;
  24. }
  25. </style>
  26. </head>
  27. <body>
  28. <div>
  29. <p>位置一</p>
  30. <p>位置二</p>
  31. </div>
  32. <script src="../jquery/jquery-3.5.1.min.js"></script>
  33. <script>
  34. // 1. 查看元素的偏移量,相对于文档 ----> offset()
  35. // console.log($("div").offset());
  36. // console.log($("div").offset().top);
  37. // console.log($("div").offset().left);
  38. // console.log($("p:last-of-type").offset());
  39. // 2. 查看元素的位置,相对于父元素 ----> position()
  40. // console.log($("p:last-of-type").position());
  41. // console.log($("p:first-of-type").position());
  42. // 3. 查看元素自身的高宽 ----> outerHeght()、outerWidth()
  43. // console.log($("p:last-of-type").outerHeight());
  44. // console.log($("p:last-of-type").outerWidth());
  45. // 4. 返回第一个定位的祖先元素
  46. // console.log($("p:last-of-type").offsetParent());
  47. // 5. 设置元素的高度 ----> height()
  48. $("p:first-of-type").height(60);
  49. $("p:first-of-type").height("60px");
  50. </script>
  51. </body>
  52. </html>

1.5 元素的添加、删除与替换

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>元素的添加与删除</title>
  7. <style>
  8. .color {
  9. color: red;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <script src="../jquery/jquery-3.5.1.min.js"></script>
  15. <script>
  16. // 1. 添加元素到末尾
  17. // 1.1 父元素.append(子元素)
  18. $("body").append("<h3>我的列表</h3>");
  19. $("body").append("<ol>");
  20. // 1.2 同时添加多个子元素(支持回调)
  21. $("ol").append(function () {
  22. var lis = "";
  23. for (var i = 1; i < 5; i++) {
  24. lis += "<li>商品" + i + "</li>";
  25. }
  26. return lis;
  27. });
  28. // 1.3 子元素.appendTo(父元素)
  29. $("<li>").text("服装").appendTo("ol");
  30. // 1.4 添加元素的同时添加属性和样式
  31. $("<li>", {
  32. id: "hello",
  33. style: "background:yellow",
  34. })
  35. .addClass("color")
  36. .text("显示器")
  37. .appendTo("ol");
  38. $("<li>", {
  39. id: "world",
  40. style: "background:green",
  41. })
  42. .html('<a href="">百货</a>')
  43. .appendTo("ol");
  44. // 2. 添加元素到指定的位置
  45. // 2.1 指定元素.before(要插入的元素)
  46. $("li#hello").before("<li>我将添加到‘显示器’前面</li>");
  47. // 2.2 要插入的元素.insertBefor(指定元素)
  48. $("<li>我将添加到‘百货’前面</li>").insertBefore("li#world");
  49. // 2.3 指定元素.after(要插入的元素)
  50. $("li#hello").after("<li>我将添加到‘显示器’后面</li>");
  51. // 2.4 要插入的元素.insertAfter(指定元素)
  52. $("<li>我将添加到‘百货’后面</li>").insertAfter("li#world");
  53. // 3. 添加元素到开头
  54. // 3.1 父元素.prepend(子元素)
  55. $("ol").prepend("<li>我将添加到开头</li>");
  56. // 3.2 子元素.prependTo(父元素)
  57. $("<li>我也添加到开头</li>").addClass("color").prependTo("ol");
  58. // 4. 删除元素 remove()
  59. $("li:nth-of-type(6)").remove();
  60. // 5. 替换元素
  61. // 5.1 指定元素.replaceWith(新元素)
  62. $("li:nth-of-type(5)").replaceWith(
  63. '<li style="color:purple">新商品3</li>'
  64. );
  65. // 5.2 replaceWith() 支持回调
  66. $("li").replaceWith(function (index) {
  67. return "<li>已替换" + (index + 1) + "</li>";
  68. });
  69. // 5.3 新元素.replaceAll(指定元素)
  70. $("<p>再次替换完成</p>").replaceAll("li:first-of-type");
  71. $("<p>再次替换完成</p>").replaceAll("li");
  72. </script>
  73. </body>
  74. </html>
  • 添加到末尾效果:

  • 添加元素到指定位置效果:

  • 删除元素效果:

  • 替换元素效果:

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:动图是亮点, 直观,加油
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