JavaScript -- 12. jQuery

news2024/11/17 23:50:44

文章目录

  • jQuery
    • 1 jQuery简介
    • 2 使用jQuery
      • 2.1 下载jQuery
      • 2.2 引用jQuery
    • 3 jQuery的核心函数
      • 3.1 作为工具类使用
      • 3.2 作为函数使用
        • 3.2.1 将一个函数作为$的参数
        • 3.2.2 将选择器字符串作为参数
        • 3.2.3 将DOM对象作为参数
        • 3.2.4 将html代码作为参数
    • 4 jQuery对象
      • 4.1 获取DOM对象
      • 4.2 隐式迭代
      • 4.3 链式调用
    • 5 jQuery常用方法
      • 5.1 jQuery对象复制
      • 5.2 添加容器
      • 5.3 添加子元素
    • 6 事件的处理
      • 6.1 绑定事件
      • 6.2 冒泡和默认事件
      • 6.3 事件委派

jQuery

jQuery官网

1 jQuery简介

jQuery是一个快速的、小型的、具有丰富功能的JavaScript库。它的出现使得网页中的DOM、事件、动画、Ajax等操作变得更加简单。“写更少的代码,做更多的事儿"是jQuery一直坚信的开发理念。

所有的库都是为了解决我们开发时的痛点而存在的。jQuery解决的问题主要有两个:简化DOM操作、解决浏览器兼容问题。然而随着前端的发展、DOM标准的更新、IE的消亡。DOM操作和浏览器兼容性早已不是什么大问题了,再加上React、Vue、Angulari这些大型框架的出现,在实际项目中使用iQuery的机会可以说是少之又少。所以现在jQuery并无学习的必要

为什么还要学习jQuery?

  • jQuey比较简单,学习不费很多时间
  • jQuery是从原生JS到JS库的一个过渡,可以帮助我们理解其他库
  • 技多不压身

2 使用jQuery

2.1 下载jQuery

下载网址:

  • 压缩版本:https://code.jquery.com/jquery-3.6.1.min.js
  • 原始版本:https://code.jquery.com/jquery-3.6.1.js

常用版本:

2.x使用不多

不同版本主要是对浏览器的兼容不同

  • 1.x:兼容IE6,7,8,功能少一些,性能也比较差
  • 3.x:兼容IE9+浏览器

2.2 引用jQuery

可以从本地引用或者是从公共cdn服务器引用,都是通过script 标签引用

在本地版本有两种,一种是压缩过的jquery-3.6.1.min.js,这个里面去掉了所有的空格和换行,并且变量也都换成了单个字母,另一种是原版的jquery-3.6.1.js,一般我们在开发环境使用没有压缩的版本,在上线之后使用压缩过的版本,这样加载速度更快

除此之外,我们还可以使用在公共服务器上的jQuery,例如字节的cdn,不仅可以减轻我们服务器的压力,也可以利用浏览器的缓存,减少加载速度

<!DOCTYPE html>
<html lang="zh">
<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="./scripts/jquery-3.6.1.js"></script> -->
    <script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.6.0/jquery.js"></script>

</head>
<body>
    <script>
        console.log($)

    </script>
</body>
</html>

3 jQuery的核心函数

引入jQuery库,其实就是向网页中添加了一个新的函数$(或者jQuery)

image-20221208131416052

$ 是jQuery中的核心函数,jQuery的所有功能都是通过该函数来进行的

核心函数的功能,有两种作用

  1. 作为工具类使用
  2. 作为函数使用

3.1 作为工具类使用

在核心函数中jQuery为我们提供了多个工具方法

  • jQuery.contains()
  • jQuery.isArray()
  • jQuery.isFunction()
  • jQuery.isNumeric()

image-20221208132003427

3.2 作为函数使用

3.2.1 将一个函数作为$的参数

  • 这个函数会在文档加载完毕之后执行
  • 相当于:document.addEventListener("DOMContentLoaded", function(){})
$(function () {
    console.log("$里面")
})
console.log("$外面")

结果

$外面
$里面

3.2.2 将选择器字符串作为参数

  • jQuery自动去网页中查找元素,作用类似于 document.querySelectorAll("...")
  • 注意:
    • 通过jQuery核心函数查询到的结果并不是原生的DOM对象,而是一个经过jQuery包装过的新的对象,这个对象我们称其为jQuery对象
    • jQuery对象中为我们提供了很多新的方法,方便我们做各种DOM操作,但是jQuery对象不能直接调用原生DOM对象的方法
    • 通过我们为jQuery对象命名时,会使用$开头,加以区分
<button id="btn">按钮</button>

<script>
    $("#btn").click(function (event) {
        console.log("点击了按钮")
        console.log(event)
    })
</script>

image-20221208132905308

3.2.3 将DOM对象作为参数

可以将DOM对象转换为jQuery对象,从而使用jQuery对象的方法

使用$(domELe)可以将原生DOM对象转化为jQuery对象

var $btn = $("#btn") 
var btn = document.querySelector("#btn")

alert($btn) // [object Object]
alert(btn) // [object HTMLButtonElement]

var new$btn = $(btn) 
alert(new$btn) // [object Object]

3.2.4 将html代码作为参数

会根据html代码来创建元素(jQuery对象)

var $h1 = $("<h1>我是h1标题</h1>")

4 jQuery对象

  • 通过jQuery核心函数获取到的对象就是jQuery对象
  • jQuery对象是jQuery中定义的对象,可以将其理解为是DOM对象的升级版,在jQuery对象中为我们提供了很多简单易用的方法,来帮助我们简化DOM操作

4.1 获取DOM对象

  • jQuery对象本质上是一个DOM对象的数组(类数组),可以通过索引获取jQuery对象中的DOM对象

    • 通过索引取出来之后得到的就是DOM对象

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>Title</title>
          <script src="scripts/jquery-3.6.1.js"></script>
      </head>
      <body>
          <ul>
              <li>1</li>
              <li>2</li>
              <li>3</li>
              <li>4</li>
          </ul>
      
          <script>
              var $lis = $("li")
              console.log($lis) 	// jquery对象
              console.log($lis[0])// DOM对象
          </script>
      </body>
      </html>
      

      image-20221208140200456

4.2 隐式迭代

当我们修改jQuery对象时,它会自动修改jQuery中的所有元素,这一特点称为jQuery的隐式迭代

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="scripts/jquery-3.6.1.js"></script>
</head>
<body>
    <ul>
        <li id="1">1</li>
        <li id="2">2</li>
        <li id="3">3</li>
        <li id="4">4</li>
    </ul>

    <script>
        var $lis = $("li")
        console.log($lis.attr("id"))// 读取属性,只会读取第一个
        console.log($lis.text())    // 读取内容
        $lis.text("hhaha")          // 修改内容
    </script>
</body>
</html>

image-20221208141251326

4.3 链式调用

  • 通常情况下,jQuery对象方法的返回值依然是一个jQuery对象,所以我们可以在调用一个方法后继续调用其他的jQuery对象的方法,这一特性,称为jQuery对象的 链式调用
  • 但是链也不要太长,可读性比较差
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="scripts/jquery-3.6.1.js"></script>
</head>
<body>
    <ul>
        <li id="1">1</li>
        <li id="2">2</li>
        <li id="3">3</li>
        <li id="4">4</li>
    </ul>

    <script>
        var $lis = $("li")
        $lis.text("新的内容").css("color", "red") // 链式调用
    </script>
</body>
</html>

image-20221208142336476

5 jQuery常用方法

api文档:jQuery API Documentation

中文文档:https://www.jquery123.com/

  • 操作class方法
    • addClass():为jQuery对象添加一个或多个class
    • hasClass():检查jQuery对象是否含有某个class
    • removeClass():删除jQuery对象的指定class
    • toggleClass():切换jQuery对象的指定class
  • 元素复制
    • clone():复制jQuery元素
  • 元素包裹
    • unwrap():去除父元素
    • wrap():添加父元素
    • wrapAll():添加父元素
    • wrapInner():在元素内部增加一层
  • 元素内部添加
    • append():添加子元素
    • appendTo():添加到父元素
    • prepend():向前添加子元素
    • prependTo():添加到父元素前
    • html():读取或设置html代码
    • text():读取或设置文本内容
  • 元素外部添加
    • after():向后边添加元素
    • insertAfter():将元素添加到某元素的后边
    • before():向前边添加元素
    • insertBefore():将元素添加到某元素的前边
  • 删除元素
    • detach():删除元素(保留元素上的事件)
    • empty():删除所有子元素
    • remove():删除元素,同时也会把绑定的时间移除
  • 替换元素
    • replaceAll():替换某个元素
    • replaceWith():被某个元素替换
  • 元素属性操作
    • attr():设置/获取元素的指定属性,对于布尔值属性会返回实际值
    • prop():设置/获取元素的指定属性,对于布尔值属性会返回布尔值
    • removeAttr():移除属性
    • removeProp():移除属性
    • val():设置/获取元素的value属性
  • 样式操作
    • css():读取/设置元素的css样式
    • height():读取/设置元素的高度
    • width():读取/设置元素的宽度
    • innerHeight():读取/设置元素的内部高度
    • innerWidth():读取/设置元素的内部宽度
    • outerHeight():读取/设置元素可见框的高度
    • outerWidth():读取/设置元素可见框的宽度
    • offset():读取/设置元素的偏移量
    • position():读取元素相当于包含块的偏移量
    • scrollLeft():读取/设置元素水平滚动条的位置
    • scrollTop():读取/设置元素垂直滚动条的位置
  • 过滤
    • eq():获取指定索引的元素
    • even():获取索引为偶数的元素
    • odd():获取索引为奇数的元素
    • filter():筛选元素
    • first():获取第一个元素
    • last():获取最后一个元素
    • has():获取含有指定后代的元素
    • is():检查是否含有某元素
    • map():获取对象中的指定数据
    • slice():截取元素(切片)
  • 其他遍历
    • add():创建包含当前元素的新的jQuery对象
    • addBack():将之前操作的集合中的元素添加到当前集合中
    • contents():获取当前jQuery对象的所有子节点(包括文本节点)
    • end():将筛选过的列表恢复到之前的状态
    • not():从列表中去除符合条件的元素
  • 树遍历
    • children():获取子元素
    • closest():获取离当前元素最近的指定元素
    • find():查询指定的后代元素
    • next():获取后一个兄弟元素
    • nextAll():获取后边所有的兄弟元素
    • nextUntil():获取后边指定位置的兄弟元素
    • offsetParent():获取定位父元素
    • parent():获取父元素
    • parents():获取所有的祖先元素
    • parensUntil():获取指定的祖先元素
    • prev():获取前边的兄弟元素
    • prevAll():获取前边所有的兄弟元素
    • prevUntil():获取指定的兄弟元素
    • siblings():获取所有的兄弟元素

5.1 jQuery对象复制

使用clone()完成对象复制

  • 参数设置为true为深拷贝,复制事件
<!DOCTYPE html>
<html lang="zh">
    <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="./scripts/jquery-3.6.1.js"></script>
        <script>
            $(function(){

                $("#list li:nth-child(1)").click(function(){
                    alert("孙悟空")
                })
                /* 
                    clone() 用来复制jQuery对象
                */
                var $swk = $("#list li:nth-child(1)").clone(true)
                var $list2 = $("#list2")

                $("#btn").click(function(){
                    $list2.append($swk)
                })
            })

        </script>
    </head>
    <body>

        <button id="btn">点我</button>

        <hr>

        <ul id="list">
            <li>孙悟空</li>
            <li>猪八戒</li>
        </ul>

        <ul id="list2">
            <li>沙和尚</li>
            <li>唐僧</li>
        </ul>
    </body>
</html>

5.2 添加容器

  • unwrap() 删除外层父元素
    • 传入参数为需要删除的元素,例如unwrap("div")如果外层是div则删除,如果不是则不删除
  • wrap() 为当前元素添加一个容器
    • wrap("div")每个元素外面都包一个div
  • wrapAll() 为当前的所有元素统一添加容器
    • wrapAll("div)所有元素都包在同一个div下面
  • wrapInner() 为当前元素添加一个内部容器
    • wrapInner("div")将内部元素包在div下面

5.3 添加子元素

  • append():在当前元素内部最后添加一个元素
  • appendTo():将子元素添加到父元素后边
  • prepend():在当前元素内部最前面添加一个元素
  • prependTo():向父元素的前边添加子元素
  • text():获取/设置元素的文本内容,不传参数就是读,传参数就是改
  • html():获取/设置元素的html代码

append()和appendTo()

  • 父元素.append(子元素)
  • 子元素.appendTo(父元素)
<!DOCTYPE html>
<html lang="zh">
<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>
    <style>
        #box1 {
            width: 200px;
            height: 200px;
            background-color: #bfa;
        }

        #box2 {
            width: 100px;
            height: 100px;
            background-color: orange;
        }

        #box3 {
            width: 100px;
            height: 100px;
            background-color: yellow;
        }
    </style>
    <script src="./scripts/jquery-3.6.1.js"></script>
    <script>
        $(function () {
            $("#btn").click(function () {
                $("#box1").append("<div id='box2'/>")
                // 等价于下面的方法
                // $("<div id='box2'/>").appendTo("#box1")
            })
        })
    </script>
</head>
<body>
    <button id="btn">点我</button>
    <hr/>

    <div id="box1">
        <div id="box3"></div>
    </div>
</body>
</html>

image-20221208193123639

prepend()和prependTo()

  • 父元素.prepend(子元素)
  • 子元素.prependTo(父元素)
<!DOCTYPE html>
<html lang="zh">
<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>
    <style>
        #box1 {
            width: 200px;
            height: 200px;
            background-color: #bfa;
        }

        #box2 {
            width: 100px;
            height: 100px;
            background-color: orange;
        }

        #box3 {
            width: 100px;
            height: 100px;
            background-color: yellow;
        }
    </style>
    <script src="./scripts/jquery-3.6.1.js"></script>
    <script>
        $(function () {
            $("#btn").click(function () {
                $("#box1").prepend("<div id='box2'/>")
                // 等价于下面的方法
                // $("<div id='box2'/>").prependTo("#box1")
            })
        })
    </script>
</head>
<body>
    <button id="btn">点我</button>
    <hr/>
    <div id="box1">
        <div id="box3"></div>
    </div>
</body>
</html>

image-20221208193244006

6 事件的处理

事件 - jQuery API 中文文档 | jQuery 中文网 (jquery123.com)

6.1 绑定事件

例如:

  • 方式一:直接绑定,类似ele.onclock = function(){}

    • $().click(function(){}):单击事件
    • $().dbclick(function(){}):双击事件
    • $().mousemove(function(){}):鼠标移动事件
  • 方式二:通过on绑定事件,类似于addEventListener()

    • $().on("click", function(){})
  • 方式三:通过one绑定事件,类似于on的使用方式,但是只能触发一次

    • $().on("click", function(){})
  • 取消绑定事件

    • $().off("click", function(){})

    • 在off的时候默认去取消掉所有绑定的事件

    • 可以使用命名空间解决

      $("#btn01").on("click.a", function(){
          alert("通过on绑定的事件!")
      })
      
      $("#btn01").on("click.b", function(){
          alert("通过on绑定的事件!2")
      })
      
      $("#btn02").on("click", function(){
          // 只删除第一个绑定的事件
          $("#btn01").off("click.a")
      })
      

6.2 冒泡和默认事件

在jQuery中绑定的事件可以正常的冒泡和取消冒泡

在jQuery的事件响应函数中,同样有事件对象,但是这个对象是经过jQuery包装过的新的对象,包装该对象主要是为了解决兼容性的问题,可以当成普通的event对象使用

取消默认行为和冒泡:

  1. 在函数中return false
  2. 使用event.stopPropogation()
$("a").click(function(event){
    // 方法一
    event.stopPropagation()
    event.preventDefault()

    alert(123)
	
    // 方法二
    // 在jQuery的事件回调函数中,可以通过return false来取消默认行为和冒泡
    // return false
})

6.3 事件委派

jQuery委托事件比原生的简单很多,通过on绑定事件的时候添加要触发的选择器即可

$(document).on("click",".box1", function(event){
    alert("哈哈")
})

可以使用off来删除委托的事件

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

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

相关文章

Python——基础知识

前面主要讲解了javaEE的基础知识&#xff0c;基本上可以用servlet写一些简单的网页程序&#xff0c;后续的博客将围绕spring进行讲解&#xff0c;并且其中穿插一些python的知识 变量 命名 和其他的编程语言一样&#xff0c;java的变量命名需要遵循下面几个原则 由数字&…

世界杯竞猜项目Dapp-第二章(hardhat部署合约)

创建 hardhat 项目 # 创建 npm 空项目 npm init # 安装 npm install --save-dev hardhat2.11.1 # 创建工程 npx hardhat -> 选择高级ts项目运行测试 # 编译合约 npx hardhat compile # 单元测试 npx hardhat test添加合约 将 Worldcup.sol&#xff08;上节编写的合约&am…

【Flink】自定义keyBy的KeySelector

我们通常在写Flink程序的时候都会遇到keyBy,比如按照某条数据的某个字段进行分类计算,或者计算pv,还有需要用到Flink定时器的高级功能。 下面我们根据keyby的源码,看下keyBy的用法(本博客基于Flink1.13) 源码有5种方式定义keyBy, 但是其中的2种已经不用了,如果用户想…

PC的ARM的安全启动

其实还是很不习惯将PC和ARM联系起来&#xff0c;当然主要是因为我刚刚接触嵌入式没有多久&#xff0c;更别说服务器、PC端了。 脑子里固化了的X86。 于是这一篇学习一下&#xff0c;基于ARM的PC&#xff0c;是怎么利用这个ATF框架&#xff0c;进行安全启动的。 文章内容来自…

9个做好动效设计的好方法

动态效果意味着充满生命和兴奋&#xff0c;为静态事物增添生命。然而&#xff0c;在软件方面&#xff0c;动态效果不仅是为了获得乐趣&#xff0c;也是为了解决问题。 作为人类&#xff0c;我们习惯于看到世界在我们周围移动。如果任何软件有连贯的动画&#xff0c;它都会感到…

【Python游戏】Python基于第三方库pygame实现一个魂斗罗小游戏,毕业设计必备 | 附源码

前言 halo&#xff0c;包子们下午好 今天给打击整一个魂斗罗小游戏 很多小伙伴接触魂斗罗应该是在小时候的一个手柄游戏上面吧 我记得作为90后的我&#xff0c;玩这一款游戏是在小学的时候 废话不多说&#xff0c;直接上才艺 今天给大家直接安排 相关文件 关注小编&#xff…

30分钟了解linux操作系统内核总结

【推荐阅读】 概述Linux内核驱动之GPIO子系统API接口 一篇长文叙述Linux内核虚拟地址空间的基本概括 轻松学会linux下查看内存频率,内核函数,cpu频率 纯干货&#xff0c;linux内存管理——内存管理架构&#xff08;建议收藏&#xff09; Linux 内核性能优化的全景指南&#xff…

中学语文杂志中学语文杂志社中学语文编辑部2022年第30期目录

理论_视点《中学语文》投稿&#xff1a;cn7kantougao163.com 追求服务于学的“智慧语文”教育 陈维贤; 3-5 教学_阅读教学 高中古诗词群文阅读教学特点新探 张红娟; 6-8 导读需导思 领读方领悟 罗艳兰; 9-10 学习任务群背景下的群文阅读教学研究 丁雪云; 11-12…

守门员VS软件测试

虽然刚刚为世界杯贡献了点彩票钱&#xff0c;但我依然热爱着足球这项赛事。最近熬夜看球&#xff0c;突然发现我们软件开发团队里&#xff0c;守门员这个职位就像我们公司的那个测试倒霉蛋儿一样。 1、球队配比VS开发团队人员配比 △ 不管你的球队是443&#xff0c;还是552&am…

如何自定义SpringBoot中的starter,并且使用它

目录 1 简介 2 规范 2.1 命名 2.2 模块划分 3 示例 1 简介 SpringBoot中的starter是一种非常重要的机制&#xff0c;能够抛弃以前繁琐的配置&#xff0c;将其统一集成进starter&#xff0c;应用者只需要在maven中引入starter依赖&#xff0c;SpringBoot就自动扫描到要加载…

PyTorch笔记 - A ConvNet for the 2020s (ConvNeXt) 网络

欢迎关注我的CSDN:https://blog.csdn.net/caroline_wendy 本文地址:https://blog.csdn.net/caroline_wendy/article/details/128236899 Paper:A ConvNet for the 2020s,FAIR,Berkeley Code:https://github.com/facebookresearch/ConvNeXt 网络结构: stem layer:骨干层…

【k8s宝典】2022年12月份Kubernetes 认证管理员CKA轻松通过攻坚克难技巧

目标&#xff1a;攻克三大难点 提示&#xff1a;本人是12月近期通过的cka考试&#xff0c;所以总结的技巧是当前最新的&#xff0c;后面如果有稍许变化&#xff0c;这些技巧照样适用&#xff0c;题目请以实际为主 复制键不能用怎么办&#xff1f; 新版考试系统使用Ctrl c不…

【论文阅读笔记】Noise2Noise: Learning Image Restoration without Clean Data

官方代码地址&#xff1a;https://github.com/NVlabs/noise2noise 论文地址&#xff1a;https://arxiv.org/abs/1803.04189 第一次接触这方向&#xff0c;相当于翻译了。 摘要 作者通过机器学习将基础统计推理应用于信号重建上&#xff1a;学习将损坏的观察结果&#xff08;co…

商务与经济统计 | 描述统计学

一.表格法和图形法 条形图 是一种描述已在一个频数&#xff0c;相对频数或百分数频数分布中汇总的品质数据的图形方法 饼形图 是一种常用的描绘品质数据的相对频数分布的图形方法 直方图 横轴上表示所关心的变量&#xff0c;纵轴上表示频数&#xff0c;相对频数或百分数频数…

23软考备考已开始,网络工程师知识点速记~(5)

新一轮软考备考来啦~ 为了帮助大家提高备考效率&#xff0c;将2023上半年软考网络工程师知识点速记分享给大家&#xff0c;快来跟着一起打卡学习吧&#xff01; 进程的同步和互斥 计算机有了操作系统后性能大幅度提升&#xff0c;其根本原因就在于实现了进程的并发运行。多个…

接口多实现

一、什么是接口 接口是抽象类的延伸&#xff0c;可以将它看作是纯粹的对象类 二、接口模式的特性 &#xff08;1&#xff09;接口不可以被实例化。 &#xff08;2&#xff09;实现类必须实现接口的所有方法&#xff08;类似于抽象类和抽象方法&#xff09;。 &#xff08;3&…

基于百度飞桨PaddleOCR的图片文字识别

PaddleOCR项目源码&#xff1a;https://github.com/PaddlePaddle/PaddleOCR 飞桨开源文字识别模型套件PaddleOCR&#xff0c;目标是打造丰富、领先、实用的文本识别模型/工具库。最新开源的超轻量PP-OCRv3模型大小仅为16.2M。同时支持中英文识别&#xff1b;支持倾斜、竖排等多…

[附源码]Python计算机毕业设计Django-中国传统手工艺销售平台

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

相似度衡量:苏剑林博客-3

本文主要是对苏剑林老师之前的博客中&#xff0c;对相似度相关的内容稍作整理。 Sentence-bert 是利用bert对两个句子判断相似度。 左图是训练期间的相似度计算方法&#xff0c;右图是推来过程中的相似度计算方法。 训练过程中使用时dense-linear方法&#xff0c;推理过程中…

vue 实现通过字符串关键字符动态渲染 input 输入框

vue 实现通过字符串关键字符动态渲染 input 输入框 今天做一个简单的demo&#xff0c;就是有一个字符串&#xff0c;字符串里面有标识符&#xff0c;前端检测到标识符之后&#xff0c;需要将这个标识符转换成一个 input 输入框并且进行数据输入和绑定功能。 问题描述 就比如现…