博客列表 >jQuery DOM操作相关知识

jQuery DOM操作相关知识

longlong
longlong原创
2020年08月20日 13:26:09596浏览

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>
  • 添加到末尾效果:

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

  • 删除元素效果:

  • 替换元素效果:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议