博主信息
博文 119
粉丝 3
评论 1
访问量 121277
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
jQuery常用getter / setter方法、DOM操作和过滤器
赵大叔
原创
967人浏览过

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>

演示效果图

总结

时间过的很快,这段时间主要学到很多学习思想,比自己像无头苍蝇乱撞,强了很多很多。
通过这段时间的学习,老实说真记住的不多,但是至少知道了,什么时候该用什么,这个很重要,然后就可以去看手册,查百度了。

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:这么短的时候, 完成记住这么多知识是不现实的, 但至少要知道有这些技术可以用, 在需要用的时候知道到哪去查, 老师也是这样学习和工作的
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学