day37_JQuery

news/2024/7/10 23:11:43 标签: jquery, javascript, css

今日内容

零、 复习昨日
一、JQuery

零、 复习昨日

正则

  • 匹配,筛选字符串
  • [0-9a-zA-ZA-z\d\w]+*?{3}{4,}{5,10}
  • ^$
  • reg.test(字符)

jquery

  • js封装的库,封装js操作,可以用来操作事件,dom,动画,ajax
  • $("#id") $("element") $(".class")
  • $("选择器1 选择器2") $("选择器1,选择器2")
  • 事件就是js中的事件,去掉on
  • jq.attr(name) jq.attr(name,value) jq.attr({key:value,key:value})
  • jq.html() jq.text() jq.val()
  • jq.css(name) jq.css(name,value) jq.css({key:value,key:value})
  • jq.addClass(“classname”) jq.removeClass(“classname”) jq.toggleClass(“classname”)

一、DOM

1.1 追加元素

内部追加,追加的元素变成子元素

  • append 追加,元素内部后面追加
  • prepend 追加,元素内部前面追加

外部追加,追加的元素变成了兄弟元素

  • after 追加,元素外部后面追加
  • before 追加,元素外部前面追加
  <body>
    <div id="box" style="css">width: 500px; height: 300px; border: 2px red solid">
      <div
        id="box-1"
        style="css">width: 100px; height: 100px; background-color: green"
      ></div>
    </div>
    <button id="btn-1">元素内部后面追加</button>
    <button id="btn-2">元素内部前面追加</button>
    <button id="btn-3">元素外部后面追加</button>
    <button id="btn-4">元素外部前面追加</button>
    <script src="./js/jquery-2.1.0.js"></script>
    <script>javascript">
      $("#btn-1").click(() => {
        // 元素内部后面
        $("#box").append(
          "<div style='width: 100px; height: 100px; background-color: yellow'></div>"
        );
      });

      $("#btn-2").click(() => {
        // 元素内部,前面追加
        $("#box").prepend(
          "<div style='width: 100px; height: 100px; background-color: blue'></div>"
        );
      });

      $("#btn-3").click(() => {
        // 元素外部,后面追加
        $("#box").after(
          "<div style='width: 100px; height: 100px; background-color: pink'></div>"
        );
      });
      $("#btn-4").click(() => {
        // 元素外部,前面追加
        $("#box").before(
          "<div style='width: 100px; height: 100px; background-color: purple'></div>"
        );
      });
    </script>
  </body>

1.2 删除元素

删除元素

  • empty() 删除子元素及内容,保留自己
  • remove() 删除全部元素,包括自己
  • remove(选择器) 删除指定选择器选到的元素
  <body>
    <div id="box" style="css">width: 500px; height: 300px; border: 2px red solid">
      <div
        id="box-1"
        style="css">width: 100px; height: 100px; background-color: green"
      ></div>
    </div>
    <button id="btn-1">元素内部后面追加</button>
    <button id="btn-2">元素内部前面追加</button>
    <button id="btn-3">元素外部后面追加</button>
    <button id="btn-4">元素外部前面追加</button>
    <button id="btn-5">empty删除元素,删除子元素</button>
    <button id="btn-6">remove删除元素,删除所有元素</button>
    <button id="btn-7">remove(选择器)删除元素,删除指定元素</button>
    <script src="./js/jquery-2.1.0.js"></script>
    <script>javascript">
      $("#btn-5").click(() => {
        // 删除子元素,保留自己
        $("#box").empty();
      });

      $("#btn-6").click(() => {
        // 删除所有元素,包括自己
        $("#box").remove();
      });

      $("#btn-7").click(() => {
        // 删除选中元素中再次选中的元素
        $("div").remove("#box-1");
      });
    </script>
  </body>

二、效果[了解]

2.1 隐藏显示

  • show 无动画直接显示
  • show(speed,[callback]) 以指定速度完成显示,动作完成会触发回调函数
    • 三种预定速度之一的字符串(“slow”, “normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
  • hide 无动画直接隐藏
  • hide(speed,[callback]) 以指定速度完成隐藏,动作完成会触发回调函数
    • 速度的写法
    • 三种预定速度之一的字符串(“slow”, “normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)
 <body>
    <div
      id="box-1"
      style="css">width: 200px; height: 200px; background-color: red"
    ></div>
    <button id="btn-1">无动画直接隐藏</button>
    <button id="btn-2">有动画隐藏</button>
    <button id="btn-3">无动画直接显示</button>
    <button id="btn-4">有动画显示</button>
    <script src="./js/jquery-2.1.0.js"></script>
    <script>javascript">
      $("#btn-1").click(() => {
        $("#box-1").hide();
      });
      $("#btn-2").click(() => {
        // $("#box-1").hide(3000); // 毫秒值
        // $("#box-1").hide("fast");  // 固定速度单词
        $("#box-1").hide(3000, () => {
          alert("动作完成!");
        });
      });
      $("#btn-3").click(() => {
        $("#box-1").show();
      });

      $("#btn-4").click(() => {
        $("#box-1").show(3000);
      });
    </script>
  </body>

2.2 淡入淡出

  • fadeIn(speed,[callback]) 淡入
  • fadeOut(speed,[callback]) 淡出
  • fadeTo(speed,opacity,[callback]) 淡入/淡出到指定透明度
    • opacity 不透明,参数是数字,值是0-1之间
    • 0是完全透明 1是完全不透明
  • fadeToggle(speed,[callback]) 淡入/淡出效果切换
  <body>
    <div
      id="box-1"
      style="css">width: 200px; height: 200px; background-color: red"
    ></div>
    <button id="btn-1">淡入-显示</button>
    <button id="btn-2">淡出-隐藏</button>
    <button id="btn-3">淡入/淡出到指定程度</button>
    <button id="btn-4">淡入/淡出切换</button>
    <script src="./js/jquery-2.1.0.js"></script>
    <script>javascript">
      $("#btn-1").click(() => {
        $("#box-1").fadeIn(2000);
      });

      $("#btn-2").click(() => {
        $("#box-1").fadeOut(2000);
      });

      $("#btn-3").click(() => {
        // 参数2是透明度,0-1之间
        // 0完全透明 1完全不透明
        $("#box-1").fadeTo(2000, 0.33);
      });
      $("#btn-4").click(() => {
        $("#box-1").fadeToggle(2000);
      });
    </script>
  </body>

2.3 滑入滑出

  • slideDown(speed, [callback]) 从上至下滑入
  • slideUp(speed, [callback]) 从下至上滑出
  • slideToggle(speed, [callback]) 切换
  <body>
    <div
      id="box-1"
      style="css">width: 200px; height: 200px; background-color: red"
    ></div>
    <button id="btn-1">滑入-显示</button>
    <button id="btn-2">滑出-隐藏</button>
    <button id="btn-3">滑入/滑出切换</button>
    <script src="./js/jquery-2.1.0.js"></script>
    <script>javascript">
      $("#btn-1").click(() => {
        $("#box-1").slideDown(2000);
      });

      $("#btn-2").click(() => {
        $("#box-1").slideUp(2000);
      });

      $("#btn-3").click(() => {
        $("#box-1").slideToggle(2000);
      });
    </script>
  </body>

2.4 动画

  • animate(参数1,参数2,参数3)
  • 参数1 样式集合,用json形式写
  • 参数2 速度,用速度单词,或者使用时间,毫秒
  • 参数3 回调函数
  <body>
    <button id="go">Run</button>
    <div id="block">Hello!</div>
    <hr />
    <button id="left">«</button> <button id="right">»</button>
    <button id="change">变形</button>
    <div
      class="block"
      style="css">width: 100px; height: 100px; background-color: red"
    ></div>
    <script src="./js/jquery-2.1.0.js"></script>
    <script src="./js/jquery.color.js"></script>
    <script>javascript">
      $("#go").click(function () {
        $("#block").animate(
          {
            width: "90%",
            height: "100%",
            fontSize: "10em",
            borderWidth: 10,
          },
          2000
        );
      });

      $("#right").click(function () {
        $(".block").animate({ marginLeft: "50px" }, "slow");
      });

      $("#left").click(function () {
        $(".block").animate({ marginLeft: "0px" }, "slow");
      });

      /**
       * JQuery动画里面默认不支持颜色设置
       * 需要外部设置一个颜色js,再引入
       */
      $("#change").click(function () {
        $(".block").animate(
          {
            backgroundColor: "green",
            borderRadius: "50px",
            marginLeft: "100px",
          },
          2000
        );
      });
    </script>
  </body>

三、JQuery筛选查找

3.1 过滤

image-20221115161711672

  <body>
    <div>
      <p>第一段</p>
      <p>第二段</p>
      <p class="p3">第三段</p>
      <p>第四段</p>
    </div>
    <button id="btn-1">eq(1)</button>
    <button id="btn-2">first</button>
    <button id="btn-3">last</button>
    <button id="btn-4">filter</button>
    <button id="btn-5">not</button>
    <script src="./js/jquery-2.1.0.js"></script>
    <script>javascript">
      $("#btn-1").click(function () {
        // eq根据下标找到元素,下标从0开始
        console.log($("p").eq(1).text());
      });

      $("#btn-2").click(function () {
        // 返回第一个
        console.log($("p").first().text());
      });

      $("#btn-3").click(function () {
        console.log($("p").last().text());
      });

      $("#btn-4").click(function () {
        // filter是在前面选择器,再留下指定选择器的内容
        console.log($("p").filter(".p3").text());
      });

      $("#btn-5").click(function () {
        // not是在前面选择器,去掉指定选择器的内容
        console.log($("p").not(".p3").text());
      });
    </script>
  </body>

3.2 查找

查找祖先

  • parent() 直接父级
  • parents() 查找所有祖先,包括到html根标签
  • parentsUntil(元素) 返回所有父级,直到指定元素停止
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>查找</title>
    <style>css">
      div {
        border: 3px red solid;
      }
    </style>
  </head>
  <body>
    <button id="btn-1">找直接祖先</button>
    <button id="btn-2">找所有祖先</button>
    <button id="btn-3">找所有祖先,直到body停</button>
    <div id="box-1" style="css">width: 700px; height: 700px">
      box-1
      <div id="box-2" style="css">width: 400px; height: 400px">
        box-2
        <div id="box-3" style="css">width: 100px; height: 100px">box-3</div>
        <div id="box-4" style="css">width: 100px; height: 100px">box-4</div>
        <div id="box-5" style="css">width: 100px; height: 100px">box-5</div>
      </div>
    </div>
    <script src="./js/jquery-2.1.0.js"></script>
    <script>javascript">
      $("#btn-1").click(() => {
        // 找到box-3的直接祖先,让其边框变黄
        $("#box-3").parent().css("border-color", "yellow");
      });

      $("#btn-2").click(() => {
        // 找到box-3的所有祖先,直到html
        // $("#box-3").parents().css("border-color", "yellow");
        console.log($("#box-3").parents());
      });

      $("#btn-3").click(() => {
        // 找到box-3的所有祖先,直到直到的元素停止,不包含该元素
        // $("#box-3").parentsUntil("body").css("border-color", "yellow");
        console.log($("#box-3").parentsUntil("body"));
      });
    </script>
  </body>
</html>

查找后代

  • children() 返回直接后代(所有直接子元素)
  • find(选择器) 返回所有后代,再跟进指定选择器过滤
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>查找</title>
    <style>css">
      div {
        border: 3px red solid;
      }
    </style>
  </head>
  <body>
    <button id="btn-4">找直接后代</button>
    <button id="btn-5">找所有后代再过滤</button>
    <div id="box-1" style="css">width: 700px; height: 700px">
      box-1
      <div id="box-2" style="css">width: 400px; height: 400px">
        box-2
        <div id="box-3" class="sunzi" style="css">width: 100px; height: 100px">
          box-3
        </div>
        <div id="box-4" class="sunzi" style="css">width: 100px; height: 100px">
          box-4
        </div>
        <div id="box-5" class="sunzi" style="css">width: 100px; height: 100px">
          box-5
        </div>
      </div>
    </div>
    <script src="./js/jquery-2.1.0.js"></script>
    <script>javascript">
      $("#btn-4").click(() => {
        // 找box-1的直接后代
        $("#box-1").children().css("border-color", "yellow");
      });

      $("#btn-5").click(() => {
        // 找box-1的所有后代,再根据find中的选择器再过滤
        // $("#box-1").find("*").css("border-color", "yellow");
        $("#box-1").find(".sunzi").css("border-color", "yellow");
      });
    </script>
  </body>
</html>

查找兄弟

  • siblings() 所有兄弟
  • next() 下一个兄弟
  • prev() 上一个兄弟
<!DOCTYPE html>
<html lang="en">
  <head>
    <title>查找</title>
    <style>css">
      div {
        border: 3px red solid;
      }
    </style>
  </head>
  <body>
    <button id="btn-1">找直接祖先</button>
    <button id="btn-2">找所有祖先</button>
    <button id="btn-3">找所有祖先,直到body停</button>
    <hr />
    <button id="btn-4">找直接后代</button>
    <button id="btn-5">找所有后代再过滤</button>
    <hr />
    <button id="btn-6">找box-4所有兄弟</button>
    <button id="btn-7">找box-4前一个兄弟</button>
    <button id="btn-8">找box-4后一个兄弟</button>
    <div id="box-1" style="css">width: 700px; height: 700px">
      box-1
      <div id="box-2" style="css">width: 400px; height: 400px">
        box-2
        <div id="box-3" class="sunzi" style="css">width: 100px; height: 100px">
          box-3
        </div>
        <div id="box-4" class="sunzi" style="css">width: 100px; height: 100px">
          box-4
        </div>
        <div id="box-5" class="sunzi" style="css">width: 100px; height: 100px">
          box-5
        </div>
      </div>
    </div>
    <script src="./js/jquery-2.1.0.js"></script>
    <script>javascript">
      $("#btn-6").click(() => {
        // 找box-4的所有兄弟
        $("#box-4").siblings().css("border-color", "green");
        // console.log($("#box-4").siblings());
      });

      $("#btn-7").click(() => {
        // 找box-4的前一个兄弟
        $("#box-4").prev().css("border-color", "green");
      });
      $("#btn-8").click(() => {
        // 找box-4的后一个兄弟
        $("#box-4").next().css("border-color", "#007acc");
      });
    </script>
  </body>
</html>

四、Ajax

暂时略,后期讲完服务器再讲


http://www.niftyadmin.cn/n/348696.html

相关文章

chatgpt赋能Python-python_board

Python Board - 一个强大的开源论坛系统 简介 Python Board是一个基于Django框架的开源论坛系统&#xff0c;具有用户管理、帖子管理、分类管理、评论管理、站内信等功能&#xff0c;支持Markdown格式的文本编辑&#xff0c;并且代码开放&#xff0c;可以由其他开发者进行二次…

chatgpt赋能Python-python_bonjour

Python Bonjour&#xff1a; 通过Python实现Bonjour协议 介绍 Bonjour是苹果公司推出的一种新型、免配置的网络协议&#xff0c;它可以使局域网中的电脑、打印机、电话等各种设备自动发现及配置&#xff0c;从而促进了网络设备的普及。Python作为一种高效、简洁、易学的语言&…

python自动化测试-最常用的自动化测试框架

在开始学习python自动化测试之前&#xff0c;先了解目前市场上的自动化测试框架有哪些&#xff1f; 随着技术的不断迭代更新&#xff0c;优胜劣汰也同样发展下来。从一开始工具型自动化&#xff0c;到现在的框架型&#xff1b;从一开始的能用&#xff0c;到现在的不仅能用&…

九、营销模块

在service的module中建立service_activity模块&#xff1a; 创建对应的配置文件&#xff1a; server.port8303spring.application.nameservice-activityspring.profiles.activedevspring.datasource.driver-class-namecom.mysql.jdbc.Driver spring.datasource.urljdbc:mysql:…

USB摄像头描述符参数获取和来源分析

USB摄像头描述符参数获取和来源分析 文章目录 USB摄像头描述符参数获取和来源分析描述符USB设备描述符描述符 USB摄像头参数获取myuvc.c结果device descriptor设备描述符configuration descriptor配置描述符interface association接口关联inteface desciptor atsettingvideocon…

微信小程序nodejs+vue高校食堂餐厅点餐订餐系统ja221

本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用 语言 node.js 框架&#xff1a;Express 前端:Vue.js 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;VScode 前端vueelementui, (1) vue引入elementu…

【资料分享】高边、低边晶体管开关及电路解析

高边和低边晶体管开关 电路中&#xff0c;晶体管常常被用来当做开关使用。晶体管用作开关时有两种不同的接线方式&#xff1a;高边&#xff08;high side&#xff09;和低边(low side)。 高边和低边是由晶体管在电路中的位置决定的。晶体管可以是双极性晶体管&#xff08;BJT…

Python|Pyppeteer快速定位select下拉框(10)

前言 本文是该专栏的第10篇,结合优质项目案例持续分享Pyppeteer的干货知识,记得关注。 一般情况下,选中某个select下拉框,会出现一堆可选信息。如下图中的Country列表,点击列表会出现多个国家选择,如下图所示。 比如说,现在需要从这个Country列表中,快速选中某个国家…