Blogger Information
Blog 28
fans 0
comment 0
visits 25991
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
基本的getter/setter、常用过滤器
,多思曩惜,
Original
685 people have browsed it

基本的getter/setter

1. 属性操作

1.1 获取和设置 HTML 属性

  • attr():html属性进行操作
  • attr(name):getter
  • atter(name,value):setter
  1. var cl = console.log.bind(console);
  2. var form = $("form");
  3. // 查询表单form中action的值
  4. cl(form.attr("action"));
  5. // 改变form中action的值
  6. form.attr("action", "admin/check.php");
  7. cl(form.attr("action"));
  8. // 改变form中多值
  9. form.attr({
  10. action: "selec.php?id=4",
  11. method: "post",
  12. });
  13. // 使用回调来改变form的值
  14. form.attr("action", function () {
  15. // 动态设置处理脚本, 如果是get, query.php?id=1,如果非get, register.php
  16. // toLowerCase()转换为小写
  17. var method = $(this).attr("method").toLowerCase();
  18. return method === "get" ? "query.php?id=1" : "register.php";
  19. });
  20. cl(form.attr("action"));
  21. `

1.2 获取和设置 CSS 属性

  • css(): 获取的是元素的计算样式,设置的是内联样式,但不适用于复合样式,如margin
  • addClass(): 添加类样式
  • removeClass(): 移除类样式
  • toggleClass(): 自动切换类样式
  • hasClass(): 判断是否存在某个类样式

  • 原生获取表单元素form的高度:window.getComputedStyle(document.querySelector('form')).width

  • css()方法拿表单元素form的高度:cl(form.css("width"));
  1. // 2. css(): 针对 html元素的style属性进行操作
  2. // 不仅可以获取到style属性的值,还可以获取到该元素所有样式
  3. // 获取表单的长度
  4. cl(window.getComputedStyle(document.querySelector("form")).width);
  5. cl(form.css("width"));
  6. // 获取表单的边框
  7. cl(form.css("border"));
  8. form.css("border", "3px solid green");
  9. // 改变表单的部分样式
  10. form.css({
  11. backgroundColor: "wheat",
  12. border: "5px dashed blue",
  13. });
  14. form.css("background-color", function () {
  15. // 这是一有四个颜色值的数组, 目标是从这个数组中随机返回一个值
  16. var bgcolor = ["plum", "lightblue", "tan", "lime"];
  17. // 返回哪个值, 由一个随机索引决定, 索引必须在0 -3 之间
  18. var randomIndex = Math.floor(Math.random() * bgcolor.length);
  19. return bgcolor[randomIndex];
  20. });

1.3 获取和设置表单的值

  • val(): 获取和设置表单的值
  1. // 3. val():表单元素的值
  2. // 获取email的值
  3. cl($("#email").val());
  4. // 定义email的值
  5. $("#email").val("admin@php.cn");
  6. cl($("#email").val());
  7. // 获取选中按钮的值 cl($("input:radio[name=save]:checked").val());
  8. // 使用回调设置表单默认值
  9. $("#email").val(function () {
  10. return this.defaultValue;
  11. });

1.4 获取和设置元素的内容

  • text(): 获取和设置元素的文本内容
  • html(): 获取和设置元素的 html 内容
  1. // html()能代替text()
  2. // innerText ===> text();
  3. document.querySelector("h2").innerText = "请登录1";
  4. $("h2").text("登录");
  5. // innerHTML ===> html()
  6. document.querySelector("h2").innerHTML =
  7. '<span style="color:blue">请登录2</span>';
  8. $("h2").html('<span style="color:green">请登录3</span>');
  9. $("h2").html("请登录4");
  • 1.5 获取和设置元素的位置与宽高

  • offset(): 获取元素的位置信息

  • scrollTop(),scrollLeft():获取元素滚动条位置
  1. var cl = console.log.bind(console);
  2. // 原生获取表单
  3. var form = document.forms.item(0);
  4. // jquery来完成获取表单
  5. // var form = $("form");
  6. // 获取表单的坐标
  7. var domRect = form.getBoundingClientRect();
  8. // cl(domRect);
  9. cl(domRect.top, domRect.left);
  10. // jquery来完成
  11. var position = $(form).offset();
  12. cl(position);
  13. cl(position.top);
  14. cl(position.left);
  15. position.top += 50;
  16. cl(position);
  17. // 获取滚动条的位置
  18. // document.documentElement.style.width = "2000px";
  19. // 返回滚动条位置
  20. // $(document).on("scroll", function () {
  21. // cl($(document).scrollLeft());
  22. // });

1.6 获取和设置元素中的数据

  • data(): 获取和设置元素中的数据
  • removeData(): 从元素中删除数据

2. DOM 操作

2.1 插入与替换元素

  • append() | appendTo(): 尾部插入元素
  • prepend() | prependTo(): 头部插入元素
  • after() | insertAfter(): 后面插入元素
  • befor() | insertBefor(): 前面插入元素
  • replaceWidh() | replaceAll(): 替换目标元素内容
  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. <script src="lib/jquery-3.5.1.js"></script>
  7. <title>Document</title>
  8. <style>
  9. .active{
  10. color :red;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. </body>
  16. </html>
  17. <script>
  18. var cl = console.log.bind(console);
  19. // 元素插入和替换
  20. // 在body添加ol元素
  21. // 父级元素.append(子元素)
  22. $("body").append("<ol>");
  23. // 子元素.annendTo父元素
  24. $('<li>').text('笔记本电脑').appendTo("ol");
  25. $('<li>').addClass("active").text("手机").appendTo('ol');
  26. $('<li>',{
  27. id:"hello",
  28. style:'background-color:yellow',
  29. }).html("<a href=''>....</a>").appendTo('ol');
  30. // 使用回调函数,一次添加多个元素
  31. $('ol').append(function(){
  32. var res='';
  33. for (var i=0 ; i<5;i++ ){
  34. res += "<li><a href=''>zzz" + ( i + 1 ) + "</a></li>";
  35. }
  36. return res;
  37. });
  38. // 在第三个元素前面添加<li>,before(),在某个元素之前添加
  39. $("ol > li:nth-of-type(3)").before('<li>新</li>');
  40. // 在第四个元素后面面添加<li>insertAfter(),在某个元素之后添加
  41. $('<li>新元素2</li>').insertAfter("ol >li:nth-of-type(4)");
  42. // prepend(), prependTo(), 将新元素插入到头部
  43. $('<li>留言</li>').prependTo("ol");
  44. // replaceWith()元素替换
  45. $("ol > li:last-of-type").replaceWith("<h3>php</h3>");
  46. $('<p>hello</p>').replaceAll("ol>li:first-of-type");
  47. </script>

2.2 复制元素

  • clone(): 创建并返回每一个选中元素的副本
  • clone() 方法生成被选元素的副本,包含子节点、文本和属性。
  • $(selector).clone(true|false)

2. 删除元素

  • empty(): 方法移除被选元素的所有子节点和内容。
  • remove():remove() 方法移除被选元素,包括所有的文本和子节点。该方法也会移除被选元素的数据和事件。

filter过滤器

  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. <script src="lib/jquery-3.5.1.js"></script>
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <ul id="first">
  11. <li>item1</li>
  12. <li>item2</li>
  13. <ul>
  14. <li>item1</li>
  15. <li class="red">item2</li>
  16. <li>item3</li>
  17. </ul>
  18. <li>item3</li>
  19. <li>item4</li>
  20. <li>item5</li>
  21. </ul>
  22. <ul id="second">
  23. <li>item1</li>
  24. <li>item2</li>
  25. <li>item3</li>
  26. <li>item4</li>
  27. <li>item5</li>
  28. </ul>
  29. </body>
  30. </html>
  31. <script>
  32. var cl=console.log.bind(console);
  33. // filter过滤器
  34. // cl($("ul#first"));
  35. cl($("ul").filter("#first"));
  36. var ul1 =$("ul").filter("#first");
  37. // children()只限子元素
  38. cl(ul1.children());
  39. var children = ul1.children();
  40. // first()返回第一个
  41. children.first().css("background","lightblue");
  42. // lact()返回最后一个
  43. children.last().css("background","lightblue");
  44. // eq(n):返回任何一个
  45. children.eq(2).css("background","lightblue");
  46. // find(): 所有层级在查询
  47. ul1.find(".red").css("color", "red");
  48. cl(ul1.find(".red"));
  49. // 仅获取第2个和第4个子元素
  50. $("ul#second >li:nth-of-type(-n+4):not(li:first-of-type):not(li:nth-of-type(3))").css('color','red' );
  51. </script>

总结:

  • 学会基本的getter/setter的操作,但是代码熟练度不够,需要多练习。
  • 在js中元素选择器和过滤器的了解并使用。
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:很不错, 注意, 请在6-10日前完成一二阶段作业
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