千峰jquery进阶内容

news2025/2/28 0:18:49

封装选项卡:
在这里插入图片描述
HTML部分:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <script src="../jQuery/jQuery.min.js"></script>
  <link rel="stylesheet" href="tabs.css" />
  <body>
    <div id="container">
      <ul class="header"></ul>
      <ul class="box1"></ul>
    </div>
  </body>
  <script src="tabs.js"></script>
  <script>
    //动态获取数据 创建节点
    // 初始化
    var list = [
      {
        title: "qqq",
        content: "qqq内容",
      },
      {
        title: "qq1q",
        content: "qq1q内容",
      },
      {
        title: "qq2q",
        content: "qq2q内容",
      },
      {
        title: "qq3q",
        content: "qq3q内容",
      },
    ];
    var oHeaderLI = list
      .map(
        (item) => `
<li>${item.title}</li>`
      )
      .join(" ");
    $(".header").html(oHeaderLI);

    var oContentLI = list
      .map(
        (item) => `
<li>${item.content}</li>`
      )
      .join(" ");
    $(".box1").html(oContentLI);
    $("#container").tabs(1);
  </script>
</html>

CSS部分:

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
ul li {
  list-style: none;
}
.header {
  display: flex;
  width: 360px;
  height: 50px;
}
.header li {
  flex: 1;
  height: 50px;
  text-align: center;
  border: 2px solid black;
  cursor: pointer;
}
.header .active {
  background-color: #bb1890;
}

.box1 li {
  left: 0;
  top: 0;
  width: 360px;
  height: 150px;
  background-color: aquamarine;
  border: 1px solid yellow;
  display: none;
}
.box1 .active {
  display: block;
}

JS部分:


    // 封装到一个方法中:
    $.fn.extend({
      tabs: function (index) {
        var oli = this.find(".header li");
        var obox = this.find(".box1 li");
        oli.eq(index).addClass("active");
        obox.eq(index).addClass("active");

        oli.click(function () {
          $(this).addClass("active").siblings().removeClass("active");
          //获取索引值,赋给下面的的
          //   console.log($(this).index());
          var index = $(this).index();
          //   obox.eq(index).addClass("active").siblings().removeClass("active");
          obox.removeClass("active").eq(index).addClass("active");
        });
      },
    });
    $("#container").tabs(1);
 

动态删除:

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="../jQuery/jQuery.min.js"></script>
  </head>

  <body>
    <ul id="list"></ul>
  </body>
  <script>
    // 用JS创建一个列表,列表里面放入按钮,再把列表放入HTML中
    var arr = ["111", "222", "333", "444"];
    for (var i = 0; i < arr.length; i++) {
      $(`<li>${arr[i]}
        <button id="btn">删除</button>
        </li>`).appendTo($("#list"));
    }

    // 这种方法去绑定现有button,不会对后来添加的button生效
    // $("#list #btn").click(function () {
    //   //   $("#btn").parent().remove();
    //   //注意,这里面是this
    //   $(this).parent().remove();
    // });

    // 因此,使用事件委托,是一个好方法
    $("#list").on("click", "button", function () {
      $(this).parent().remove();
    });
    var li = $(`<li>555<button id="btn">删除</button></li>`);
    li.appendTo("#list");
  </script>
</html>

克隆:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <script src="../jQuery/jQuery.min.js"></script>
  <body>
    <div class="box">
      <ul>
        <li>ni</li>
        <li>ni</li>
        <li>ni</li>
      </ul>
    </div>
    <div class="center">
      <hr />
    </div>
  </body>
  <script>
    $(".box")
      //clone 里面传入参数true代表把绑定的事件也一起克隆过来
      .clone()
      .prop("id", "box2")
      .insertAfter(".center")
      .css("color", "yellow")
      .css("background", "red");
  </script>
</html>

删除和替换:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="../jQuery/jQuery.min.js"></script>
  </head>
  <body>
    <div id="box">
      000
      <div id="box1">111</div>
      <span>qwu</span>
      <span>qwu</span>
      <span>qwu</span>
      <div id="box2">222</div>
    </div>
  </body>
  <script>
    // 删除自身 remove
    // $("#box #box1").eq(0).remove();

    //empty 清空内部
    // $("#box").empty();
    //或者内部赋值为空
    // $("#box").html(" ");

    // 替换
    var odiv = $("<div>hello</div>");
    $("#box span").replaceWith(odiv);
    //另一种写法:
    // odiv.replaceAll($("#box span"));
  </script>
</html>

深浅拷贝:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <script src="../jQuery/jQuery.min.js"></script>
  <body></body>
  <script>
    var obj1 = {
      name: "heFan",
      location: {
        city: "nanYang",
        province: "XinYe",
        a: { b: { c: 1 } },
        hobby: ["打球", "看美女", "旅游"],
      },
    };
    var obj2 = {};
    // $.extend(obj2, obj1);
    // // 注意,浅拷贝改值另一个也会跟着改
    // obj2.location.city = "郑州";
    // console.log(obj2);
    // console.log(obj1);

    // 深拷贝
    $.extend(true, obj2, obj1);
    // 加上参数true就实现了深拷贝,改值不影响另一个
    obj2.location.city = "洛阳";
    obj1.location.city = "武汉";
    console.log(obj2);
    console.log(obj1);
  </script>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/347220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在基于全志D1s的芒果派麻雀上运行国产开源rt-smart系统

想必RT-Thread系统大家不陌生了&#xff0c;RT-Thread Smart&#xff08;简称 rt-smart&#xff09;是基于 RT-Thread 操作系统衍生的新分支&#xff0c;面向带 MMU&#xff0c;中高端应用的芯片&#xff0c;例如 ARM Cortex-A 系列芯片&#xff0c;MIPS 芯片&#xff0c;带 MM…

ELK采集MySQL慢日志实现

文章目录一、ELK采集MySQL慢日志架构二、filebeat三、logstash四、eskibana一、ELK采集MySQL慢日志架构 MySQL 服务器安装 Filebeat 作为 agent 收集 slowLogFilebeat 读取 MySQL 慢日志文件做简单过滤传给 Kafka 集群Logstash 读取 Kafka 集群数据并按字段拆分后转成 JSON 格…

春季开学即将到来!大学生活必备数码清单奉上

马上就要开学了&#xff0c;你的返校装备是否已经准备齐全了呢&#xff1f;对于高校学生来说&#xff0c;很多数码产品都属于必备装备&#xff0c;比如下面这几款产品就受到了大量年轻消费者的喜爱&#xff0c;在它们的帮助下能够让大家的学习时光变得更快乐。1、不入耳黑科技骨…

DM8:DMDSC共享存储集群搭建-配置文件准备

DM8:DMDSC共享存储集群搭建-配置文件准备1 环境介绍2 配置文件2.1 EP73 节点配置文件2.1.1 dmdcr_cfg.ini2.1.2 dmasvrmal.ini2.1.3 dmdcr.ini2.1.4 dminit.ini2.1.5 dmcssm.ini2.1.6 配置文件就绪2.2 EP74 节点配置文件2.2.1 dmdcr.ini1 环境介绍 使用裸设备搭建 2 节点 DMDS…

从零开始的数模(二十六)单因素方差分析

目录 一、概念 1.1相关概念 1.2用途 1.3数据要求&#xff1a;独立性/正态性/方差齐性 1.4步骤 ​编辑1.5专业名词 二、基于python的单因素方差分析 2.2单因素方差分析的作用 一、概念 1.1相关概念 单因素方差分析是一种常用的统计分析方法&#xff0c;它用于比较一个因…

csgo搬砖项目,门槛最低的副业就是它(内附入门知识及选品技巧)

CSGO搬砖如何选择游戏饰品(装备&#xff09;&#xff1f;相信很多朋友一定很关心这个问题&#xff0c;因为如何选品直接关系到该装备是否快速出售&#xff0c;而且也关系到账号整体盈收状况。那么今天阿阳就来好好聊聊如何选择Steam装备以及饰品的各项知识点。 Steam搬砖如何选…

Leetcode力扣秋招刷题路-0061

从0开始的秋招刷题路&#xff0c;记录下所刷每道题的题解&#xff0c;帮助自己回顾总结 61. 旋转链表 给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], k 2 输出&…

linux另类提权之打靶归来(2019年老文)

0x00前言&#xff1a; 本次目标为渗透某安全培训学校在线靶场&#xff0c;朋友做不出来交帮忙看下。。。 不要听见靶场就关闭了此文&#xff0c;客官往下看。 0x01开端 打开此靶机各种琳琅满目的漏洞让我眼花缭乱&#xff0c;这里我选择一种直击要害的漏洞作为开端&#xff…

【入门】what is apache orc?提高hive存储效率?怎么和hive搭配使用?

文章目录一. 什么是orc二. hive集成orc三. hive表属性一. 什么是orc 官网&#xff1a;https://orc.apache.org/docs/ 1.ORC files目标为了提高hive的存储效率&#xff0c;以及减少文件大小。 Back in January 2013, we created ORC files as part of the initiative to massive…

转发一张网络工程师考试的试卷2021.5.15

网络工程师考试 单选题 &#xff08;30题&#xff0c;每题1分&#xff0c;共30分&#xff09; 1. 你在一个网络中实现DHCP服务&#xff0c;配置一些计算机成为DHCP客户端&#xff0c;由于工作需要&#xff0c;一台系统为Windows 10 的客户端要把从DHCP服务器获得的地址释放&a…

如何优化认知配比

战略可以归结为三种要素的合理配比。我们对战略的一个定义是&#xff1a;在终局处的判断。这其实来自于一个宗教的命题——面死而生。死是终局&#xff0c;生是过程&#xff0c;当你想做一个思想实验&#xff0c;或者是你真的有缘能够直面死亡&#xff0c;你所有关于生的认知就…

echonet-dynamic代码解读

1 综述 一共是这些代码&#xff0c;我们主要看echo.py&#xff0c;segmentation.py&#xff0c;video.py&#xff0c;config.py。 2 配置文件config.py 基于配置文件设置路径。 """Sets paths based on configuration files."""import conf…

大数据之-Nifi-了解Nifi处理器_和Nifi的其他组件---大数据之Nifi工作笔记0003

然后我们来看nifi的处理器,可以看到左上角是用来添加处理器的, 拖过来就能添加 拖过来以后,会显示一个弹框,里面会显示各种处理器,有293个..常用的都够了 可以在右边搜索以后添加 看一下常用的处理器 puthiveql:把数据写入到hive中去. 上面这3个是经常一块用的 这个publis…

Spring Boot邮件发送(powernode document)(内含源代码)

Spring Boot邮件发送&#xff08;powernode document&#xff09;&#xff08;内含源代码&#xff09; 源代码下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87452780 目录Spring Boot邮件发送&#xff08;powernode document&#xff09;&…

Java企业级开发学习笔记

文章目录一、Spring1.1、Slay Dragon1.2、RescueDamselQuest一、Spring 第一周写了两个小项目均使用了原始调用和容器的方法 两个项目&#xff1a;<斩杀大龙与上路保卫战> 配一张文件位置图 1.1、Slay Dragon BraveKnight package net.sherry.spring.day01;public c…

卷积神经网络中的图像特征——以YOLOv5为例进行可视化

一、图像特征 1. 图像低层特征 图像低层特征指的是&#xff1a;边缘、颜色和纹理等特征。低层特征的分辨率较高&#xff0c;包含较多的位置、细节信息&#xff0c;但其包含的语义信息较少&#xff0c;噪声较多。原始图像和浅层卷积网络输出的特征图属于低层特征&#xff0c;从…

2023最新的接口自动化测试面试题

1、请结合你熟悉的项目&#xff0c;介绍一下你是怎么做测试的&#xff1f; -首先要自己熟悉项目&#xff0c;熟悉项目的需求、项目组织架构、项目研发接口等 -功能 接口 自动化 性能 是怎么处理的&#xff1f; -第一步&#xff1a; 进行需求分析&#xff0c;需求评审&#…

你好 ChatGPT, 帮我看下这段代码有什么问题?

点赞再看&#xff0c;动力无限。 微信搜「 程序猿阿朗 」。 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录&#xff0c;有很多系列文章。 今天一个很简单的功能&#xff0c;触发了一个 BUG&#xff0c;处理后我想起了最近爆火的 ChatGPT&#xff0c;于是我尝试测…

vscode开发的Vue家用电器维修服务系统nodejs+mysql

主要功能包括管理员&#xff1a;首页、个人中心、用户管理、维修员管理、维修信息管理、维修申请管理、维修处理管理、家电类别管理、配件信息管理、配件领用管理、维修结果管理、家电维修知识管理、公告信息管理、留言板管理&#xff0c;用户&#xff1a;首页、个人中心、维修…

Jenkins实现制作自定义镜像推送到Harbor上

Jenkins实现制作自定义镜像推送到Harbor上 1.首先需要Jenkins内部可以使用docker 在jenkins容器内部使用docker教程 2.选择对应的jenkins的job中 选择配置->构建->增加构建步骤(执行shell) mv target/*.jar docker/ docker build -t lover_story:$tag docker/ dock…