JavaScript的常用库 —— jQuery

news/2025/1/21 21:15:08/文章来源:https://www.cnblogs.com/kitty-38/p/18684429

jQuery

用来更加方便地去控制前端的HTML标签和CSS属性。

使用方式:

1. 直接在<head>元素中添加:

<script src="https://cdn.acwing.com/static/jquery/js/jquery-3.3.1.min.js"></script>

2. 按jQuery官网提示下载。


选择器:

$(selector)selector类似于CSS选择器。

$('div');
$('.big-div');
$('div > p')

 
例如:
test.js中的内容为:

let main = function() {let $div = $('.mydiv');console.log($div);
}export {main
}

test.html中的内容为:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>test</title><link rel="stylesheet" href="/test/test.css"><script src="https://cdn.acwing.com/static/jquery/js/jquery-3.3.1.min.js"></script>  // jQuery
</head><body><script type="module">import {main} from "/test/test.js";main();</script><div class="mydiv"></div></body>
</html>

test.css中的内容为:

div {width: 300px;height: 300px;background-color: pink;
}

事件:

$(selector).on(event, func)绑定事件。

$('div').on('click', function (e) {console.log("click div");
})

简写:

$div.click(function() {console.log("click div");})

$(selector).off(event, func)删除事件。

$('div').on('click', function (e) {console.log("click div");$('div').off('click');
});

 
例如:
test.js中的内容为:

let main = function() {let $div = $('div');$div.on("click", function() {   // 绑定事件console.log("这是click div");//$div.off("click");  // 删除(解绑)事件})
}export {main
}

test.html中的内容为:

<body><script type="module">import {main} from "/test/test.js";main();</script><div></div></body>

test.css中的内容为:

div {width: 300px;height: 300px;background-color: pink;
}

 

当存在多个相同类型的事件触发函数时,可以通过click.name来区分。

$('div').on('click.first', function (e) {console.log("click div");$('div').off('click.first');
});

 
例如:
test.js中的内容为:

let main = function() {let $div = $('div');$div.on("click.name1", function() {   // 绑定事件console.log("这是click div 1");$div.off("click.name2");  // 解绑click.name2事件})$div.on("click.name2", function() {   // 绑定事件console.log("这是click div 2");})
}export {main
}

test.html中的内容为:

<body><script type="module">import {main} from "/test/test.js";main();</script><div></div></body>

test.css中的内容为:

div {width: 300px;height: 300px;background-color: pink;
}

 

在事件触发的函数中的return false等价于同时执行以下两个操作:

  • e.stopPropagation():阻止事件向上传递

  • e.preventDefault():阻止事件的默认行为

 
例如:
test.js中的内容为:

let main = function() {let $div = $('div');$div.on("click", function(e) {   // 给<div>绑定点击事件console.log("这是click div 1");});$('a').on("click", function(e) {  // 给<a>绑定点击事件console.log("click a");e.stopPropagation();  // 阻止向上传递,a事件触发div事件不触发e.preventDefault();  // 阻止当前点击事件的操作,a事件不触发div事件触发//return false;  // 等同于e.stopPropagation(); e.preventDefault();  a事件不触发div事件也不触发})
}export {main
}

test.html中的内容为:

<body><script type="module">import {main} from "/test/test.js";main();</script><div><a href="https://www.baidu.com" target="_blank">百度</a></div></body>

test.css中的内容为:

div {width: 300px;height: 300px;background-color: pink;
}

元素的隐藏、展现:

  • $A.hide():隐藏,可以添加参数,表示消失时间

  • $A.show():展现,可以添加参数,表示出现时间

  • $A.fadeOut():慢慢消失,可以添加参数,表示消失时间

  • $A.fadeIn():慢慢出现,可以添加参数,表示出现时间

 
例如:
test.js中的内容为:

let main = function() {let $div = $('div');let $btn_hide = $('#hide-btn');let $btn_show = $('#show-btn');$btn_hide.click(function() {$div.hide(3000);  // 花费3000毫秒(= 3秒)隐藏//$div.fadeOut(3000);  // 淡出});$btn_show.click(function() {$div.show(1000);  // 花费1秒展现//$div.fadeIn(1000);  // 淡入});
}export {main
}

test.html中的内容为:

<body><script type="module">import {main} from "/test/test.js";main();</script><div></div><button id="hide-btn">隐藏</button><button id="show-btn">展现</button></body>

test.css中的内容为:

div {width: 300px;height: 300px;background-color: pink;
}

元素的添加、删除:

  • $('<div class="mydiv"><span>Hello World</span></div>'):构造一个jQuery对象

  • $A.append($B):将$B添加到$A的末尾

  • $A.prepend($B):将$B添加到$A的开头

  • $A.remove():删除元素$A

  • $A.empty():清空元素$A的所有儿子

 
例如:
test.js中的内容为:

let main = function() {let $div = $('div');let $a = $(`<a id="" style="" href="https://www.baidu.com">百度<span>!!!</span></a>`);$div.click(function() {  // 单击$div.append($a);  // 将$a添加到$div});$div.dblclick(function() {  // 双击$a.remove();  // 删除元素$a// $dic.empty():清空元素$div里的所有儿子});
}export {main
}

test.html中的内容为:

<body><script type="module">import {main} from "/test/test.js";main();</script><div></div></body>

test.css中的内容为:

div {width: 300px;height: 300px;background-color: pink;
}

对类的操作:

  • $A.addClass(class_name):添加某个类

  • $A.removeClass(class_name):删除某个类

  • $A.hasClass(class_name):判断某个类是否存在

 
例如:
test.js中的内容为:

let main = function() {let $div = $('div');$div.click(function() {  // 单击$div.addClass('my-div');  // 添加my-div类});$div.dblclick(function() {  // 双击$div.removeClass('my-div');  // 删除my-div类});
}export {main
}

test.html中的内容为:

<body><script type="module">import {main} from "/test/test.js";main();</script><div></div></body>

test.css中的内容为:

div {width: 300px;height: 300px;background-color: pink;
}.my-div {background-color: orange;
}

对CSS的操作:

  • $("div").css("background-color"):获取某个CSS的属性

  • $("div").css("background-color","yellow"):设置某个CSS的属性

  • 同时设置多个CSS的属性:

$('div').css({width: "200px",height: "200px","background-color": "orange",
});

 
例如:
test.js中的内容为:

let main = function() {let $div = $('div');$div.click(function() {  // 单击console.log($div.css('background-color'));  // 获取div的CSS属性$div.css('background-color', 'orange');  // 将div的background-color属性变为orange$div.css({   // 同时改变div多个CSS的属性width: "200px",height: "200px","background-color": "orange",});});
}export {main
}

test.html中的内容为:

<body><script type="module">import {main} from "/test/test.js";main();</script><div></div></body>

test.css中的内容为:

div {width: 300px;height: 300px;background-color: pink;
}

对标签属性的操作:

  • $('div').attr('id'):获取属性

  • $('div').attr('id', 'ID'):设置属性

 
例如:
test.js中的内容为:

let main = function() {let $div = $('div');$div.click(function() {  // 单击console.log($div.attr('wzy'));  // 返回18$div.attr('id', 'ID');  // 把div的id属性改成ID的属性});
}export {main
}

test.html中的内容为:

<body><script type="module">import {main} from "/test/test.js";main();</script><div wzy="18"></div></body>

test.css中的内容为:

div {width: 300px;height: 300px;background-color: pink;
}#ID {background-color: orange;
}

对HTML内容、文本的操作:

不需要背每个标签该用哪种,用到的时候Google或者百度即可。

  • $A.html():获取、修改HTML内容(标签内容)

  • $A.text():获取、修改文本信息

  • $A.val():获取、修改文本的值

 
例如:
test.js中的内容为:

let main = function() {let $div = $('div');$div.click(function() {  // 单击console.log($div.text());  // 获取div的文本内容,返回 哈哈哈//$div.text("hello");  // 修改div的文本内容为helloconsole.log($div.html());  // 获取标签内容,返回<span>哈哈哈</span>});
}export {main
}

test.html中的内容为:

<body><script type="module">import {main} from "/test/test.js";main();</script><div wzy="18"><span>哈哈哈</span></div></body>

test.css中的内容为:

div {width: 300px;height: 300px;background-color: pink;
}

查找:

  • $(selector).parent(filter):查找父元素

  • $(selector).parents(filter):查找所有祖先元素

  • $(selector).children(filter):在所有子元素中查找

  • $(selector).find(filter):在所有后代元素中查找

 
例如:
test.js中的内容为:

let main = function() {let $div3 = $('.div-3');console.log($div3.parents('.div-1'));
}export {main
}

test.html中的内容为:

<body><script type="module">import {main} from "/test/test.js";main();</script><div class="div-1"><div class="div-2"><div class="div-3"></div></div></div>
</body>

ajax

用来跟后端通信。在不刷新页面的情况下,只从服务器端获取某些数据,一般是获取json数据。

  • GET方法:

从服务器获取内容。

$.ajax({url: url,  // 后端的链接type: "GET", data: {   // 往后端传的参数},dataType: "json",success: function (resp) {  // 当后端成功返回内容后,从resp里解析出来内容},
});
  • POST方法:

把内容提交给服务器。

$.ajax({url: url,type: "POST", data: {},dataType: "json",success: function (resp) {},
});

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2 FreeRTOS移植

2 FreeRTOS移植 2.1 源码基本认识获取源码。官网地址:FreeRTOS™ - FreeRTOS™ 源码内文件结构:1) FreeRTOS文件夹结构2) Source文件夹结构3) portable文件夹结构 portable文件夹里面有编译器、内核环境可以选择。其中keil是我们使用的编译器类型,但Keil文件夹里只有一个…

22蓝帽初赛

参考wp:http://mp.weixin.qq.com/s?__biz=Mzk0MTQzNjIyNg==&mid=2247487196&idx=1&sn=48094c5a78749b45c3598ed51a5df0e3&chksm=c3901b8acd56bc2d1d06b323e9d1e86b90048a35dc3b3301b60bb1f488a764f0b52ebc490113&mpshare=1&scene=23&srcid=01218…

【Azure APIM】APIM服务配置网络之后出现3443端口不通,Management Endpoint不健康状态

如果没有关联的网络安全组,则阻止所有网络流量通过子网和网络接口。问题描述 APIM服务在配置网络之后,查看网络状态发现Management Endpoint是不健康状态, 提示无法连接到3443端口。错误消息: Failed to connect to management endpoint at xxxxxxxx.management.azure-api.…

【模拟电子技术】11-放大电路的性能指标

【模拟电子技术】11-放大电路的性能指标通过输入,输出侧的各一个电容来到输入纯交流,输出纯交流Ui变化引起UBE变化,UBE变化引起IB变化,IB变化引起IC变化,IC变化引起UCE变化,UCE变化引起Uo变化关于输入,输出等效电路的问题: 输入电阻Ri越大越好还是越小越好?当然是越大…

解决 WebSocket 连接断开问题:前端心跳机制的实现与优化

在开发过程中,我们经常会遇到需要实时通信的场景,而 WebSocket 是一种非常合适的技术选择。然而,在实际使用 WebSocket 的过程中,我们可能会遇到连接频繁断开的问题。最近,我在一个项目中就遇到了这样的问题,经过一番探索和优化,终于找到了解决方案,现在与大家分享一下…

图片内存变大

平时我们会经常遇到压缩图片内存的情况,但是需要把图片内存变大的情况有人遇到过吗,接下来就是图片变大术的详细教程!将需要处理的图片放在一个文件夹内(例:图片a.png放在D盘根目录下)win+R输入cmd打开命令控制行在命令控制行输入cd+图片所在的目录,如果是在磁盘根目录直…

paddleocr图片文字识别

介绍:PaddleOCR是由百度开发的一个OCR库,基于深度学习框架PaddlePaddle。PaddleOCR支持多语言文本识别,特别适合中文场景,同时它还提供了丰富的预训练模型。 1、安装pip3 install paddlepaddle pip3 install paddleocr2、使用from paddleocr import PaddleOCRdef paddle_im…

picoctf_2018_rop chain

main里面有个gets溢出函数,再点开flag函数看可以看到传入了一个a1参数,如果win1和win2都是1且a1为-559039827时会输出flag的值用十六进制比较,该数的十六进制可以直接再ida里面看到看到win1函数设置了win1为1,win2函数需要再传入一个参数为-1163220307那么win2就是1了这个参…

whuwc 游记

whuwc 游记whuwc 游记Star Sky Here we are 我们在此地 Riding the sky 翱翔于天际 Painting the night with sun 绘夜空以晨旭 You and I, Mirrors of night 你和我 交相辉映 Twin flames of fire 如两团火焰 Lit in another time and place 闪亮在彼时彼地 I knew your name …

nvm自动切换node版本

1、nvm常用命令nvm off //禁用node.js版本管理(不卸载任何东西) nvm on //启用node.js版本管理 nvm install <version> //安装node.js的命名 version是版本号 例如:nvm install 8.12.0 nvm uninstall <version> …

业财一体化与业财融合的联系与区别

业财一体化与业财融合比较相似,许多人把二者混为一谈,甚至概念搞反了,他俩有何异同呢?1 从定义来看,业财一体化(Integrated Business and Finance)是指将企业的业务活动与财务活动进行信息化、系统化的统一管理,通过先进技术手段,将业务流程、财务流程、管理流程有机整…

[docker] 部署 Seata 分布式事务

docker 部署 Seata 分布式事务在使用 Docker 部署 Seata 并与 Nacos 配置中心结合时,你可以通过以下步骤来实现。Seata 是一个开源的分布式事务解决方案,而 Nacos 是阿里巴巴开源的一个动态服务发现、配置和服务管理平台。 一、环境准备部署好 mysql 服务 部署好 nacos 服务二…