博客列表 >$()四种应用场景,attr()的常用操作-js-42课8.18

$()四种应用场景,attr()的常用操作-js-42课8.18

希望
希望原创
2020年08月21日 19:46:32776浏览

一、$()四种应用场景

  • 1、$(选择器, 上下文)
  • 2、$(js对象)
  • 3、$(html文本)
  • 4、$(callback)
  • $(): 工厂函数jquery(), $ 代替了 jQuery
  • demo.html中要引入lib/jquery-3.5.1.js

  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. </head>
  8. <body>
  9. <div id="first">
  10. <li>item1</li>
  11. <li>item2</li>
  12. <li>item3</li>
  13. </div>
  14. <hr />
  15. <div id="second">
  16. <li>item1</li>
  17. <li>item2</li>
  18. <li>item3</li>
  19. </div>
  20. <script src="lib/jquery-3.5.1.js"></script>
  21. <script>
  22. // 1. $(选择器, 上下文)
  23. // 原生
  24. document.querySelectorAll("li").forEach(function (item) {
  25. item.style.color = "red";
  26. });
  27. // jquery
  28. // $("li").css("color", "green");
  29. // $()的第二参数, 上下文
  30. //只更新第一组列表的颜色
  31. $("li", "#first").css("color", "green");
  32. $("li", "#second").css("color", "blue");
  33. // 2. $(js原生对象)
  34. // 将js对象包装成一个jquery对象,从而可以直接调用jQuery中的方法
  35. var lis = document.querySelectorAll("#second li");
  36. console.log(lis);
  37. lis.forEach(function (item) {
  38. item.style.background = "yellow";
  39. });
  40. // 想使用jQuery中的css()方法,必须将lis包装/转换成一个jQuery对象
  41. console.log($(lis));
  42. $(lis).css("background-color", "cyan");
  43. // 3. $(html文本)
  44. // 在第一个前面插入文本
  45. $("<h2>Hello 世界</h2>").insertBefore("#first");
  46. // 4. $(callback): 当html文档加载完成之后立即调用这个函数
  47. $(function () {
  48. $(document.body).css({
  49. background: "wheat",
  50. "font-size": "20px",
  51. });
  52. });
  53. </script>
  54. </body>
  55. </html>

二、attr()的常用操作

  • 1、attr(): 获取元素的属性
  • 2、attr(name): 获取属性的值
  • 3、attr(name,value): 设置属性的值

  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>getter / setter -1</title>
  7. <style>
  8. body {
  9. display: flex;
  10. flex-direction: column;
  11. align-items: center;
  12. color: #666;
  13. }
  14. form {
  15. width: 400px;
  16. /* height: 150px; */
  17. padding: 20px 10px;
  18. border: 1px solid #aaa;
  19. box-shadow: 0 0 5px #888;
  20. box-sizing: border-box;
  21. background-color: #eee;
  22. display: grid;
  23. grid-template-columns: 80px 200px;
  24. gap: 10px;
  25. place-content: center center;
  26. }
  27. button {
  28. grid-column: 2 / 3;
  29. height: 26px;
  30. }
  31. button:hover {
  32. color: white;
  33. background-color: #888;
  34. border: none;
  35. cursor: pointer;
  36. }
  37. .red {
  38. color: red;
  39. }
  40. </style>
  41. </head>
  42. <body>
  43. <h2 class="red">用户登录</h2>
  44. <form action="handle.php" method="GET"">
  45. <label for="email">Email:</label>
  46. <input
  47. type="email"
  48. name="email"
  49. id="email"
  50. autofocus
  51. value="leture@php.cn"
  52. />
  53. <label for="password">Password:</label>
  54. <input type="password" name="password" id="password" value="不少于6位" />
  55. <label for="confirm">记住我:</label>
  56. <div>
  57. <input type="radio" name="save" id="confirm" value="1" checked /><label
  58. for="confirm"
  59. >保存</label
  60. >
  61. <input type="radio" name="save" id="cancel" value="0" /><label
  62. for="cancel"
  63. >放弃</label
  64. >
  65. </div>
  66. <button>登录</button>
  67. </form>
  68. <script src="lib/jquery-3.5.1.js"></script>
  69. <script>
  70. var form = $("form");
  71. //1.获取元素的属性
  72. console.log(form.attr("action"));
  73. // 2.设置属性
  74. form.attr("action", "admin/check.php");
  75. console.log(form.attr("action"));
  76. // 同时设置多个属性值
  77. form.attr({
  78. "action": "select.php?id=10",
  79. "method": 'Post'
  80. });
  81. // attr()第二个参数支持回调
  82. // 3.获取当前的method属性值
  83. form.attr("action", function() {
  84. // 动态设置action
  85. // 根据请求的类型,动态设置action
  86. // get ==> query.php?id=1
  87. // post ==> register.php
  88. var method = $(this).attr('method').toLowerCase();
  89. console.log(method);
  90. // js表达式的的返回值,永远是等号的右边的值
  91. return (method === "get") ? 'query.php?id=1' : 'register.php'
  92. });
  93. </script>
  94. </body>
  95. </html>
  • 总结:
  • $()4种应用场景:选择器或上下文、js对象,html文本,callback
  • $:函数, 函数对象
  • $(): jQuery()对象
  • attr():获取元素的属性,获取属性的值,设置属性的值
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议