Blogger Information
Blog 39
fans 0
comment 0
visits 30821
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
JQ:DOM操作与过滤器
Original
1018 people have browsed it

1.getter

1.1 attr(): html属性进行操作

  1. attr(name):  getter
  2. attr(name, value): setter
  3. <!DOCTYPE html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="UTF-8">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title>gettersetter - 1</title>
  9. <script src="lib/jquery-3.5.1.js"></script>
  10. </head>
  11. <style>
  12. body{
  13. display: flex;
  14. flex-direction: column;
  15. align-items: center;
  16. }
  17. form{
  18. width: 350px;
  19. /* height: 150px; */
  20. border: 1px solid #aaa;
  21. padding: 20px 10px;
  22. background-color: cyan;
  23. box-shadow: 0 0 5px #aaa;
  24. box-sizing: border-box;
  25. border-radius: 5px;
  26. display: grid;
  27. grid-template-columns: 60px 200px;
  28. place-content: center center;
  29. gap: 5px;
  30. }
  31. button:hover{
  32. color:white;
  33. background-color: #888;
  34. border: none;
  35. cursor: pointer;
  36. }
  37. </style>
  38. <body>
  39. <h3>用户登录</h3>
  40. <form action="handle.php" method="post">
  41. <label for="">邮箱</label>
  42. <input type="email" name="email" id="email" value = "abc@php.cn" autofocus required >
  43. <label for="">密码</label>
  44. <input type="password" name="password" id="password" value = "不少于八位密码" required>
  45. <label for="">记住我</label>
  46. <div>
  47. <input type="radio" name="save" id="confirm" value="1"><label for="" checked>保存</label>
  48. <input type="radio" name="save" id="cancel" value="0"><label for="">放弃</label>
  49. </div>
  50. <button>提交</button>
  51. </form>
  52. </body>
  53. </html>
  54. <script>
  55. var cl = console.log.bind(console);
  56. // 1. attr(): html属性进行操作
  57. // attr(name):  getter
  58. // attr(name, value): setter
  59. var inputs = $("input");
  60. cl(inputs.attr("name"));
  61. inputs.attr("value","peter@qq.com");
  62. </script>

实例效果:

1.2 css(): 针对 html元素的style属性进行操作

不仅可以获取到style属性的值,还可以获取到该元素所有样式
<script>
// 2. css(): 针对 html元素的style属性进行操作
// 原生
cl(window.getComputedStyle(document.querySelector(“form”)).width);
// JQ
var forms = $(“form”);
cl(forms.css(“width”));
forms.css({
backgroundColor:”wheat”,
})
inputs.css(“background-color” , “cyan”);

  1. // 这是一个每次刷新随机返回表单背景色的实例
  2. forms.css("background-color",function(){
  3. // 这是一有多个颜色值的数组, 目标是从这个数组中随机返回一个值
  4. var bgcolor = ["wheat","cyan","pink","tan","lime"];
  5. // 返回哪个值, 由一个随机索引决定, 索引必须在0 -3 之间
  6. var rndcolorindex = Math.floor(Math.random() * bgcolor.length);
  7. return bgcolor[rndcolorindex];
  8. });
  9. </script>

实例效果:

1.3 val():表单元素的值

  1. <script>
  2. // 3. val():表单元素的值
  3. cl($("#email").val());
  4. $("#email").val("andy@qq.com");
  5. // 获取选中按钮的值
  6. cl($("input:radio[name=save]:checked").val());
  7. // 回调返回默认值
  8. $("#email").val(function(){
  9. return this.defaultValue;
  10. });
  11. </script>

实例效果:

1.4 html()/text(): 元素内容操作

  1. <script>
  2. // 4. html()/text(): 元素内容操作
  3. // innerText ===> text();
  4. // 原生
  5. // document.querySelector("h2").innerHtml = '<span style="color:red">请登录</span>';
  6. // jQuery
  7. // $("h3").text("请登录");
  8. $("h3").html('<span style="color:red">LOGIN IN</span>');
  9. </script>

实例效果:

2.常用的DOM操作方法

  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>常用的DOM操作</title>
  7. <script src="lib/jquery-3.5.1.js"></script>
  8. </head>
  9. <body>
  10. </body>
  11. </html>
  12. <script>
  13. var cl = console.log.bind(console);
  14. // 1. 元素的插入与替换, 父元素.append(子元素)
  15. $("body").append("<ol>");
  16. $("<li>").text("手提电脑").appendTo("ol");
  17. $("ol").append("<li>激光电视");
  18. $("<li>").addClass("active").text("智能5G手机").appendTo("ol");
  19. $("<li>",{
  20. id:"news",
  21. style:"background-color:cyan",
  22. })
  23. .html("<a href=''>最新商品1</a>")
  24. .appendTo("ol");
  25. // append(callback)
  26. $("ol").append(function(){
  27. var res = "";
  28. for(var i=0; i <=5; i++){
  29. res += "<li>最新商品"+(i+2);
  30. }return res;
  31. });
  32. // 从第3个元素前面添加<li>, before(), 在某个元素之前添加
  33. $("ol>li:nth-of-type(3)").before("<li>VR游戏机</li>");
  34. // insertAfter()
  35. $("<li>北斗导航仪</li>").insertAfter("ol>li:nth-of-type(5)");
  36. // prepend(), prependTo(), 将新元素插入到头部
  37. $("<li>最新潮流</li>").prependTo("ol");
  38. // 元素的换: replaceWith()
  39. $("ol>li:last-of-type").replaceWith("<h4>This is The END!</h4>");
  40. $("<p>This is Begin...</p>").replaceAll("ol > li:first-of-type");
  41. </script>

实例效果:

3.常用过滤器

  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. <script src="lib/jquery-3.5.1.js"></script>
  8. </head>
  9. <body>
  10. <ul id="first">
  11. <li>item1</li>
  12. <li>item2</li>
  13. <li>item3</li>
  14. <li>item4</li>
  15. <li>item5</li>
  16. </ul>
  17. <ul id="second">
  18. <li>item1</li>
  19. <li>item2</li>
  20. <li>item3</li>
  21. <li>item4</li>
  22. <li>item5</li>
  23. </ul>
  24. </body>
  25. </html>
  26. <script>
  27. var cl = console.log.bind(console);
  28. //方法 children
  29. var ul1 = $("ul").filter("#first");
  30. var childrens = ul1.children();
  31. // first():返回第一个
  32. childrens.first().css("background", "lightblue");
  33. // last(): 返回最后一个
  34. childrens.last().css("background", "lightgreen");
  35. // eq(n): 返回任何一个
  36. childrens.eq(2).css("background", "lightcyan");
  37. // 仅获取第2个和第3个子元素
  38. $("ul#second >li:nth-of-type(-n+3):not(li:first-of-type)").css(
  39. "color",
  40. "red"
  41. );
  42. </script>

实例效果:

总结:

  1. 常用的getter / setter
  2. 常用的DOM操作方法:
    .append(“<ol>“)、.appendTo(“ol”)、.append(callback)
    .before()、.insertAfter()、.prepend()、.prependTo()
    .replaceWith()、..replaceAll()
    3.过滤器:筛选器,缩小寻找范围。
    方法 children()、first()、last()、eq()
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