Blogger Information
Blog 119
fans 3
comment 1
visits 94630
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
jQuery常用getter / setter方法、DOM操作和过滤器
赵大叔
Original
778 people have browsed it

jQuery常用getter / setter方法

1. attr()

html属性进行操作

2. css()

针对 html元素的style属性进行操作
不仅可以获取到style属性的值,还可以获取到该元素所有样式

3. val()

表单元素的值

4. html() / text()

对元素内容操作

代码演示:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>常用getter / setter方法</title>
  6. <script src="lib/jQuery_v3.5.1.js"></script>
  7. <style>
  8. body {display: flex;flex-direction: column;align-items: center;}
  9. form {width: 400px;padding: 20px 10px;border: 1px solid #aaa;
  10. box-shadow: 0 0 5px #888;box-sizing: border-box;background-color: skyblue;
  11. display: grid;grid-template-columns: 80px 200px;gap: 10px;place-content: center center;}
  12. form > div{display: grid;grid-template-columns: repeat(2,1fr);}
  13. button {grid-column: 2 / 3;height: 26px;}
  14. button:hover {color: white;background-color: red;border: none;cursor: pointer;}
  15. .red {color: red;}
  16. </style>
  17. </head>
  18. <body>
  19. <h3>用户登录</h3>
  20. <form action="handel.php" method="POST">
  21. <label for="username">用户名:</label>
  22. <input type="text" id="username" value="phongthithuy">
  23. <label for="password">密码:</label>
  24. <input type="password" id="password">
  25. <label for="confirm">记住密码:</label>
  26. <div>
  27. <section>
  28. <label for="confirm">记住</label>
  29. <input type="radio" name="save" id="confirm" value="1" checked />
  30. </section>
  31. <section>
  32. <label for="cancel">不记住</label>
  33. <input type="radio" name="save" id="cancel" value="0" />
  34. </section>
  35. </div>
  36. <button>登录</button>
  37. </form>
  38. </body>
  39. <script>
  40. // 1. attr(): 对`html属性`进行操作
  41. // attr(name): 获取html属性
  42. var form = $('form');
  43. console.log(form.attr('action'));
  44. console.log(form.attr('method'));
  45. // attr(name, value): 设置html属性
  46. form.attr({
  47. action: "selec.php?id=1 ",
  48. method: "get",
  49. });
  50. console.log(form.attr('action'));
  51. console.log(form.attr('method'));
  52. // attr(name, fuction): 设置html属性
  53. form.attr("action", function () {
  54. // 动态设置处理脚本, 如果是post, handel.php?id=1,如果非post, register.php
  55. var method = $(this).attr("method").toLowerCase();
  56. // console.log(method);
  57. return method === "post" ? "handel.php?id=1" : "register.php";
  58. });
  59. console.log(form.attr('action'));
  60. // 2. css(): 针对 `html元素的style属性`进行操作
  61. // 不仅可以获取到style属性的值,还可以获取到该元素所有样式
  62. // 获取
  63. console.log(form.css("width"));
  64. console.log(form.css("border"));
  65. // 设置
  66. form.css("border", "2px solid green");
  67. form.css({
  68. backgroundColor: "blue",
  69. border: "1px dashed yellow",
  70. });
  71. // css("backgroundColor", function)
  72. form.css("backgroundColor", function () {
  73. // 这是一有四个颜色值的数组, 目标是从这个数组中随机返回一个值
  74. var bgcolor = ["plum", "lightblue", "tan", "lime"];
  75. // 返回哪个值, 由一个随机索引决定, 索引必须在0 -3 之间
  76. var randomIndex = Math.floor(Math.random() * bgcolor.length);
  77. return bgcolor[randomIndex];
  78. });
  79. // 3. val(): 表单元素的值
  80. // 获取表单的值
  81. console.log($("#username").val());
  82. // 设置表单的值
  83. $("#username").val("zhaodashu");
  84. console.log($("#username").val());
  85. // 获取选中按钮的值
  86. console.log($("input:radio[name=save]:checked").val());
  87. // 回调
  88. $("#username").val(function () {
  89. return this.defaultValue;
  90. });
  91. // 4. html() / text(): 对元素内容操作
  92. // text()相当于innerText
  93. $("h3").text("请登录");
  94. // html()相当于innerHTML
  95. $("h3").html('<span style="color:red">赶紧登录</span>');
  96. // $("h3").html("赶紧登录");
  97. </script>
  98. </html>
  1. <script>
  2. var form = $('form');
  3. var position = $(form).offset();
  4. console.log(position);
  5. console.log(position.top);
  6. console.log(position.left);
  7. position.top += 80;
  8. console.log(position.top);
  9. // 获取滚动条的位置
  10. document.documentElement.style.width = "2000px";
  11. $(document).on("scroll", function () {
  12. console.log($(document).scrollLeft());
  13. });
  14. // 自定义数据属性
  15. $(form).data("desc", "login-form");
  16. console.log($(form).data("desc"));
  17. $(form).removeData("desc");
  18. console.log($(form).data("desc"));
  19. </script>

演示效果图:

jQuery DOM操作

  • 1.子元素.appendTo(父元素):将子元素插入到父元素
  • 2.append(function):通过回调,插入多个元素
  • 3.before():在某个元素之前添加
  • 4.insertAfter():在某个元素之后添加
  • 5.prependTo():将新元素插入到头部
  • 6.replaceWith():元素的替换:

代码演示:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>常用 DOM 操作</title>
  6. <script src="lib/jQuery_v3.5.1.js"></script>
  7. <style>
  8. .active{color: deepskyblue;}
  9. </style>
  10. </head>
  11. <body>
  12. </body>
  13. <script>
  14. // 1. 元素的插入与替换, 父元素.append(子元素)
  15. $("body").append("<ol>");
  16. // 子元素.appendTo(父元素)
  17. $("<li>").text("总经理办公窒").appendTo("ol");
  18. $("<li>").addClass("active").text("行政部").appendTo("ol");
  19. $("<li>", {
  20. id: "xinchao",
  21. style: "background-color: skyblue",
  22. }).html("<a href=''>财务部</a>").appendTo("ol");
  23. // append(function)
  24. $("ol").append(function () {
  25. var res = "";
  26. for (var i = 0; i < 6; i++) {
  27. res += "<li><a href=''>" + (i + 1) + " 分厂</a></li>";
  28. }
  29. return res;
  30. });
  31. // before(), 在某个元素之前添加
  32. $("ol > li:nth-of-type(3)").before("<li>人力资源部</li>");
  33. // insertAfter():在某个元素之后添加
  34. $("<li>进出口部</li>").insertAfter("ol > li:nth-of-type(4)");
  35. // prepend(), prependTo(), 将新元素插入到头部
  36. $("<li>生产部</li>").prependTo("ol");
  37. // 元素的替换: replaceWith()
  38. $("ol > li:last-of-type").replaceWith("<h3>六分厂</h3>");
  39. $("<h3>BO SAN XUAT</h3>").replaceAll("ol > li:first-of-type");
  40. </script>
  41. </html>

演示效果图

jQuery过滤器:缩小选择范围

  • filter:过滤,缩小选择范围
  • children:所有子元素
  • children.first():第一个
  • children.last(): 最后一个
  • children.eq(n): 返回任何一个
  • find(): 所有层级在查询

代码演示:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>常用过滤器</title>
  6. <script src="lib/jQuery_v3.5.1.js"></script>
  7. </head>
  8. <body>
  9. <ul id="mot">
  10. <li>1</li>
  11. <li>2</li>
  12. <ul>
  13. <li>1</li>
  14. <li class="red">2</li>
  15. <li>3</li>
  16. </ul>
  17. <li>3</li>
  18. <li>4</li>
  19. <li>5</li>
  20. </ul>
  21. <ul id="hai">
  22. <li>1</li>
  23. <li>2</li>
  24. <li>3</li>
  25. <li>4</li>
  26. <li>5</li>
  27. </ul>
  28. </body>
  29. <script>
  30. // 过滤
  31. console.log($("ul").filter("#mot"));
  32. // children:子元素
  33. console.log($("ul").filter("#mot"));
  34. // first():第一个
  35. var ul2 = $("ul").filter("#hai");
  36. var children = ul2.children();
  37. children.first().css("background", "lightblue");
  38. // last(): 最后一个
  39. children.last().css("background", "lightblue");
  40. // eq(n): 返回任何一个
  41. children.eq(2).css("background", "lightgreen");
  42. // find(): 所有层级在查询
  43. var ul1 = $("ul").filter("#mot");
  44. ul1.find(".red").css("color", "red");
  45. console.log(ul1.find(".red"));
  46. // 仅获取第2个和第3个子元素
  47. // $("ul").filter("#second").children().slice(1, 3).css("color", "red");
  48. $("ul#hai >li:nth-of-type(-n+3):not(li:first-of-type)").css(
  49. "color",
  50. "red"
  51. );
  52. </script>
  53. </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