12.jQuery技术

article/2025/11/5 2:10:09

一、jQuery知识点总览。 

 css()方法://通过css()方法获取样式值let backgroundcolor = $("#one").css("backgroundColor");alert(backgroundcolor);//通过css()方法设置id为one背景色为绿色$("#one").css("backgroundColor","green");
属性选择器:
<script>$(function () {$("div[title]").css("background-color","red");$("div[title='titled']").css("background-color","red");$("div[title!='titled']").css("background-color","red");$("div[title^='tit']").css("background-color","red");$("div[title$='led']").css("background-color","red");$("div[title*='ed']").css("background-color","red");$("div[id][title *='es']").css("background-color","red");})</script>
 过滤选择器:
<script src="../js/jquery-3.6.0.min.js"></script><script>$(function () {$('div:first').css("background-color","pink");$('li:first').css("background-color","pink");$("li:last").css("background-color","pink");$("li:not(.a)").css("background-color","pink");$("li:even").css("background-color","pink");$("li:odd").css("background-color","pink");$("li:eq(3)").css("background-color","pink");$("li:lt(3)").css("background-color","pink");$("li:gt(3)").css("background-color","pink");$(":header").css("background-color","pink");});</script>
表单过滤选择器:
<input type="text" disabled="disabled" value="ok">
<input type="text" value="nice">
<input type="checkbox" value="美容">美容
<input type="checkbox" value="科技">科技
<input type="checkbox" value="公司">公司
<select name="job" id="job" multiple="multiple" size="4"><option value="c1">程序员</option><option value="c2">中级程序员</option><option value="c3">高级程序员</option><option value="c4">系统架构师</option>
</select>
<script>$(function () {$("input[type='text']:enabled").val("aaa");//修改输入框的内容$("input[type='text']:disabled").val("aaa");var len = $("input[type='checkbox']:checked").length;//获取选中的复选框个数alert(len);$("#job > option:selected").length;//选择器必须是 #job > option 才行,因为要获取的个数是select下拉列表下的option元素选中个数})
</script>
DOM-内容操作:
<script>$(function () {// 获取myinput的value值let val = $("#myinput").val();alert(val);let valu = $("#myinput").val("李四");//返回被修改后的对象alert(valu.val());// 获取mydiv的标签体let html = $("#mydiv").html();alert(html);$("#mydiv").html("aaa");// 获取mydiv的文本内容let text = $("#mydiv").text();alert(text);$("#mydiv").text("ccc");})
</script>
<input id="myinput" type="text" name="username" value="张三" /><br/>
<div id="mydiv" ><p><a href="#">标题标签</a></p></div>
通用属性操作:
<script>$(function () {//获取北京节点的name属性值,prop获取到的是undefined,建议使用attrlet attr = $("#bj").attr("name");alert(attr);//设置北京节点的name属性的值为dabeijing,通过开发模式的检查,看是否修改成功$("#bj").attr("name","dabeijing");//新增北京节点的discription属性,属性值是didu$("#bj").attr("discription","didu");//删除北京节点的name属性并校验name属性是否存在$("#bj").removeAttr("name");//获取hobby的选中状态,attr获取到的是undefined(只是选中状态获取不到)let checked = $("#bj").prop("checked");alert(checked);})
</script>
<ul><li id="bj" name="beijing" xxx="yyy">北京</li><li id="tj" name="tianjin">天津</li>
</ul>
<input type="checkbox" id="hobby"/>
class类属性值操作:
<script>$(function () {//采用prop操作类属性,添加类属性增加样式(改变id=one的样式)$("#one").prop("class","secon");//添加属性值,会删除其他属性值(有多个属性值)//采用addClass,增加second属性值$("#one").addClass("second");//添加属性值,不会删除其他属性值(有多个属性值)//removeClass,删除second属性值$("#one").removeClass("second");//只删除指定属性值,不会全部删除//toggleClass,切换类属性,有就删除,没有就添加(反复操作就是切换两种样式效果)$("#one").toggleClass("sese");//只对指定属性值操作,不对全部操作(即不会删除全部属性值)});</script>
<div id="one" class="b1 b2">id为one</div>
CRUD:
<script>$(function () {//append方法,文档中元素对象会移动,新的元素对象才会添加$("#1").append("我很好!");//添加//appendTo方法,文档中元素对象会移动,新的元素对象才会添加$("#1").appendTo($("#2"));//移动到id=2的内部//prepend,文档中元素对象会移动,新的元素对象才会添加$("#1").prepend("我很好");//prependTo,文档中元素对象会移动,新的元素对象才会添加$("#2").prependTo($("#1"));//after,,文档中元素对象会移动,新的元素对象才会添加$("#1").after("我很好");$("#2").after($("#1"));//insertAfter,文档中元素对象会移动,新的元素对象才会添加$("#1").insertAfter($("#2"));//before,文档中元素对象会移动,新的元素对象才会添加$("#1").before($("#2"));//insertBefore,文档中元素对象会移动,新的元素对象才会添加$("#2").insertBefore($("#1"));//remove,删除元素对象$("#1").remove();//empty,清空所有后代元素,本节点内容也会清除,只留下元素及属性$("#1").empty();//clone(),克隆一个对象$("#1").append($("#1").clone());});
</script>
<div id="1"><h1>nice</h1>hello</div>
<h1 id="2">id是2</h1>
动画效果:
<script>$(function () {var i=0;while (i<1000){i++;//默认方式:$("#showDiv").hide("slow","swing",function () {alert("影藏了")});$("#showDiv").hide(10);//隐藏$("#showDiv").show(5000,"linear");//显示$("#showDiv").toggle("fast","linear");//显示和隐藏//滑动方式:用法和上面的一样,知识方法名不同$("#showDiv").slideUp("slow");//隐藏$("#showDiv").slideDown("slow");//显示$("#showDiv").slideToggle("slow");//隐藏与显示//淡入淡出效果方式:$("#showDiv").fadeOut("slow");//隐藏$("#showDiv").fadeIn("slow");//显示$("#showDiv").fadeToggle("fast");//隐藏与显示};});</script>
<div id="showDiv" style="width: 200px;height: 200px;background-color: pink" >div显示和隐藏
</div>
遍历:
<script>$(function () {//获取所有的ul下的li,jQuery对象可以当作数组使用let citys = $("#city li");//1.使用for遍历lifor (var i = 0; i < citys.length; i++) {//获取内容,citys[i]获取的是js对象alert(citys[i].innerHTML);alert($(citys.get(i)).text());}//2.jQuery对象.each(callback);citys.each(function (index, ele) {//判断如果是上海,则结束循环if ("上海"==ele.innerHTML){//如果是当前function返回为false,则结束循环(break)//如果返回为true,则结束本次循环,继续下次循环(continue)// return false;return true;}//获取li对象,第一种方式// alert(this.innerHTML);alert($(this).text());//获取li对象,第二种方式,在回调函数中定义参数, index(索引) element(元素对象)// alert(index+" :"+ele.innerHTML);alert(index+" :"+$(ele).text());})//3.  $.each(object,[callback])$.each(citys,function (index,element) {alert($(element).text());});//4.  for ... of : jQuery3.0版本之后提供的方式for (city of citys) {alert($(city).text());}});
</script>
<ul id="city"><li>北京</li><li>上海</li><li>天津</li><li>重庆</li>
</ul>
事件绑定:
<script>$(function (){//1.获取name对象,绑定click事件$("#name").click(function () {alert("我被点击了...")});//2.简化操作,链式编程,//给name绑定鼠标移动到元素之上事件,绑定鼠标移出事件$("#name").mouseover(function () {alert("来了...");}).mouseout(function () {alert("走了...");});$("#name").focus();//没有回调函数,触发默认行为,让文本框获得焦点$("#name").focus(function () {//当元素获得焦点时,触发 focus 事件。alert("焦点来了...");});//表单对象.submit();//让表单提交//3.使用on给按钮绑定单击事件click$("#btn").on("click",function () {alert("我被点击了");});//4.使用off解绑btn按钮的单击事件$("#btn2").click(function () {//结束btn的单击事件$("#btn").off("click");$("#btn").off();//没有参数,将组件的事件全部解绑});//5.获取按钮,调用toggle方法,事件切换$("#btn1").toggle(function () {//改变div背景色$("#mydiv").css("backgroundColor","green");},function () {//改变div背景色$("#mydiv").css("backgroundColor","pink");});});
</script>
<input type="button" id="btn1" value="事件切换">
<div id="myDiv" style="height: 300px;width: 300px;background-color:pink">点击按钮变成绿色,再次点击红色</div>
<input id="name" type="text" value="绑定点击事件">
<input id="btn" type="button" value="使用on绑定点击事件"/>
<input id="btn2" type="button" value="使用off解绑点击事件"/>
插件机制:扩展方法(为jQuery或jQuery对象添加方法)
<script>//使用jQuery插件,给jQuery对象添加2个方法,check()选中所有复选框,uncheck()取消所有选中复选框//1.定义jQuery的对象插件$.fn.extend({//方法名:回调函数,定义了一个check()方法。所有的jQuery对象都可以调用该方法check:function () {//让复选框选中//this:调用该方法的jQuery对象this.prop("checked",true);},uncheck:function () {//让复选框不选中this.prop("checked",false);}});$(function () {//1.获取按钮// $("#btn-check").check();//复选框对象.check();$("#btn-check").click(function () {//获取复选框对象$("input[type='checkbox']").check();});$("#btn-uncheck").click(function () {//获取复选框对象$("input[type='checkbox']").uncheck();});});//对全局方法扩展两个方法,扩展min方法,求2个值的最小值;扩展max方法,求两个值最大值;$.extend({max:function (a,b) {return a>=b?a:b;},min:function (a,b) {return a>=b?b:a;}});//调用全局方法let max = $.max(3,4);alert(max);
</script><input id="btn-check" type="button" value="点击选中复选框" onclick="checkFn()"><input id="btn-uncheck" type="button" value="点击取消复选框选中" onclick="checkFn()">
<br/><input type="checkbox" value="football">足球<input type="checkbox" value="basketball">篮球<input type="checkbox" value="volleyball">排球

案例一:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="../js/jquery-3.6.0.min.js"></script><script>$(function () {//案例一:隔行换色//$("tr:even:gt(1) > td"),这样的话是满足td的先even偶数后,再跳过2,已经不止大于2了$("tr:gt(1):even > td").css("backgroundColor","pink");//可以不用 > td$("tr:gt(1):odd > td").css("backgroundColor","yellow");//案例二:全选全不选,$("#box").click()就使用不了checked的值,不用这种则要在入口函数外面定义函数,需要传参数this才能使用this.checked$("#box").click(function () {$("input[type='checkbox']").prop("checked",this.checked);});// 案例三:qq表情选择$("tr").click(function () {$("table").append($(this).clone());});//案例四:下拉列表选中条目左右移动$("tr").click(function () {$("table").append(this);});});//案例二:全选全不选,$("#box").click()就使用不了checked的值,不用这种则要在入口函数外面定义函数,需要传参数this才能使用this.checked// function selectAll(obj) {//   $("input[type='checkbox']").prop("checked",obj.checked);// };</script>
</head>
<body>
<table border="1" align="center" id="tab1" width="800"><tr><td colspan="5"><input type="button" value="删除"></td></tr><tr><th><input type="checkbox" id="box" ></th><th>分类ID</th><th>分类名称</th><th>分类描述</th><th>操作</th></tr><tr><td><input type="checkbox"></td><td>1</td><td>手机数码</td><td>手机数码类商品</td><td><a href="#">修改</a>|<a href="#">删除</a></td></tr><tr><td><input type="checkbox"></td><td>2</td><td>电脑办公</td><td>电脑办公类商品</td><td><a href="#">修改</a>|<a href="#">删除</a></td></tr><tr><td><input type="checkbox"></td><td>3</td><td>鞋靴箱包</td><td>鞋靴箱包类商品</td><td><a href="#">修改</a>|<a href="#">删除</a></td></tr><tr><td><input type="checkbox"></td><td>4</td><td>家居饰品</td><td>家居饰品类商品</td><td><a href="#">修改</a>|<a href="#">删除</a></td></tr>
</table>
</body>
</html>

案例二:广告显示和隐藏。


<script>$(function () {/*       需求:1.当页面加载完,3秒后,自动显示广告2.广告显示5秒后,自动消失分析:1.使用定时器来完成:setTimeout(执行一次定时器)2.分析发现jQuery的显示和隐藏动画效果其实就是控制display:none属性3.使用show/hide方法来完成广告的显示*///显示广告window.setTimeout(function () {$("#ad").show("slow");},3000);//隐藏广告window.setTimeout(function () {$("#ad").hide("slow");},8000);});
</script>
<div id="ad" style="display: none">广告</div>
<div>正文</div>

案例三:抽奖。

<script>$(function () {/*分析:1.给开始按钮绑定单击事件1.1定义循环定时器1.2切换小相框的src属性* 定义数组,存放图片资源路径* 生成随机数,数组索引2.给结束按钮绑定单击事件1.1停止单击事件1.2给大相框设置src属性*///处理按钮是否可以使用的效果,防止按钮多次点击,出现bug$("#startID").prop("disabled",false);//按钮可用$("#stopID").prop("disabled",true);//按钮不可用let startID;//开始定时器的idvar arr=["../img/img_1.png","../img/2.png","../img/3.png"];$("#startID").click(function () {//处理按钮是否可以使用的效果,防止按钮多次点击,出现bug$("#startID").prop("disabled",true);//按钮可用$("#stopID").prop("disabled",false);//按钮不可用//1.1定义循环定时器startID = setInterval(function () {//1.2生成随机角标,0-2var index=Math.floor(Math.random()*3);//0.000-0.999->*2->0.0->2.999//1.3设置小相框的src属性$("#imgID").prop("src",arr[index]);},50);});$("#stopID").click(function () {//处理按钮是否可以使用的效果,防止按钮多次点击,出现bug$("#startID").prop("disabled",false);//按钮可用$("#stopID").prop("disabled",true);//按钮不可用//1.1停止定时器clearInterval(startID);//1.2给大相框设置src属性let src = $("#imgID").prop("src");$("#daimgID").prop("src",src).hide();//先隐藏//显示1秒之后$("#daimgID").show(1000);});});
</script>
<img id="imgID" src="../img/3.png" style="width: 100px;height: 100px">
<input id="startID" type="button" value="开始抽奖">
<input id="stopID" type="button" value="停止抽奖">
<img id="daimgID" src="../img/3.png" style="width: 600px;height: 600px;float: right">


http://chatgpt.dhexx.cn/article/NANcvjVY.shtml

相关文章

jQuery

##jQuery基础 1.概念&#xff1a;一个JavaScript框架。简化JS开发 *jQuery是一个快速、简洁的JavaScript框架&#xff0c;是继Prototype之后又一个优秀的JavaScript代码库&#xff08;框架&#xff09;于2006年1月由John Resig发布。 jQuery设计的宗旨是“write Less&#xf…

jQuery建立WebSocket连接

jQuery建立WebSocket连接&#xff0c;向服务端发送数据&#xff0c;实现WebSocket连接成功。 js代码如下&#xff1a; <script src"https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script type"text/javascript">…

WebGoat攻略 for Mac(1)

WebGoat攻略 for Mac&#xff08;1&#xff09; 一、环境配置1.配置Docker2.配置WebGoat3.连接WebGoat 二、题目攻略Introduction(介绍)a.WebGoatb.WebWolf General(通用)a.HTTP Basics(HTTP基础)b.HTTP Proxies配置OWASP ZAP c.Developer Tools(开发人员工具)d.CIA Triade.Cry…

代码审计之WEBGOAT 反序列化

反序列化这关在前端页面可以看到是提交token到后端&#xff0c;先看一下接口名 可以看到接口名为InsecureDeserialization/task&#xff0c;那就后端全局搜索InsecureDeserialization/task&#xff0c;最终定位到InsecureDeserializationTask.java 源码如下&#xff1a; packa…

kali搭建webgoat靶场

下载webgoat-server-8.0.0.M26.jar与webwolf-server-8.0.0.M26.jar&#xff0c;并保存至kali的documents处&#xff0c;并在此打开终端&#xff08;不然无法打开&#xff09; 打开webgoat-server-8.0.0.M26.jar 浏览器访问127.0.0.1:8080/WebGoat/login.html 进行注册且登录 成…

基于 WebGoat 平台的 SQL 注入攻击

基于 WebGoat 平台的 SQL 注入攻击 扩展功能参考: https://blog.csdn.net/HZC0217/article/details/126790211 使用实例参考: https://www.cnblogs.com/hndreamer/p/16635984.html 目录 1、什么是 webgoat? 2、jar 下载 3、环境搭建 4、运行 webgoat 5、在浏览器中登录 …

owaspbwa之WebGoat

简介 下载&#xff1a;https://sourceforge.net/projects/owaspbwa/files/ GitHub: https://github.com/chuckfw/owaspbwa/wiki/UserGuide 0x001 侦查 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu4 (Ubuntu Linux; protoc…

WebGoat之JWT部分攻略

环境搭建 使用docker容器搭建webgoat环境 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准.该token被设计为紧凑且安全的&#xff0c;特别适用于分布式站点的单点登录&#xff08;单点登录SSO&#xff1a;在多个应用系统中&…

Webgoat靶场搭建

环境 jdk16 安装 文件源码看评论区哈。 下载过后是这个jdk-16.0.2.7z文件&#xff0c;这是个JDK16的包,进入bin目录下&#xff0c;可以看到靶场文件&#xff0c; 启动网站 打开一个cmd窗口执行启动网站命令 java --add-opens java.base/sun.nio.chALL-UNNAMED --add-op…

WebGoat通关教程

这里我们用docker镜像一键搭建即可 用docker命令开启webgoat docker run -d -p 8081:8080 -p 9090:9090 -e TZEurope/Amsterdam webgoat/goatandwolf 打开192.168.109.131:8081/WebGoat和192.168.109.131:9090/WebWolf能打开即可 192.168.109.131是本地IP 直接注册一个账号&…

在Ubuntu环境下使用docker配置webgoat环境

1.安装Docker环境 sudo apt install docker.io 2.配置Docker加速 打开配置文件 vim /etc/docker/daemon.json添加mirrors信息 {"registry-mirrors":["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]}3.重启docker system…

WebGoat General Crypto Basics

目录 第2页 第3页 第4页 第6页 第2页 这一页是讲base64编码和Basic Authentication的 简单来说Basic Authentication中使用了base64编码&#xff0c;以本页的题目举例&#xff0c;如果有个HTTP头长这样 Authorization: Basic ZmFuY3llbGU6c2VjcmV0 那这个网站就是用了Basi…

docker安装webgoat

docker安装webgoat 一般来说 无需docker&#xff0c;在 https://github.com/WebGoat/WebGoat/releases中&#xff0c;下载最新的v8.2.2.jar,然后java -jar webgoat-server-8.2.2.jar然后反问http://127.0.0.1/WebGoat即可 但是&#xff0c;由于本人windows主机(java10.0.2)和ka…

WebGoat-8.2.2版靶机学习总结

摘要&#xff1a;本文档介绍了WebGoat靶机平台在Windows10系统下的使用。其操作过程均在一台主机上完成。该平台涉及的训练项目有http代理、数据库注入、身份校验缺陷、XSS、访问控制缺陷、通信拦截、序列化问题、CSRF、问题组件等内容&#xff0c;帮助学习者学习网络攻防基础&…

WebGoat安装

WebGoat是运行在Java虚拟机的WEB漏洞实验靶场,可以提供包括跨站点脚本攻击(XSS),访问控制,线程安全,操作隐藏字段,操纵参数,弱会话cookie,SQL盲注,数字型SQL注入,字符串型SQL注入,web服务、Open Authentication失效,危险的HTML注释等多个漏洞练习. 使用WebGoat的方式有很多,我…

WebGoat v8.0打靶笔记

目录 一、环境的配置 &#xff08;1&#xff09;安装docker &#xff08;2&#xff09;WebGoat获取 &#xff08;3&#xff09;burp suite的配置 二、Introduction 三、General &#xff08;1&#xff09;HTTP Basics &#xff08;2&#xff09;HTTP Proxies &#…

安装WebGoat步骤

安装Webgoat步骤 安装目的&#xff1a;了解并深入目前安全行业的OWASP ten 10漏洞 何为Webgoat? Webgoat内置OWASP十大漏洞 安装过程 下载webgoat架包 地址 创建一个文件夹&#xff0c;将上面框出的架包复制到文件夹里 检测JAVA环境 使用之前得先把Java的版本升级一下…

WebGoat部分题目

一、文件上传漏洞 1、跨目录脚本执行 上传的脚本文件在网站存放上传文件的目录下被限制执行&#xff0c;于是我们把上传的脚本文件放到根目录去执行。 靶场情况&#xff1a; 如上图所示&#xff0c;假设的根目录为C:\Users\Administrator/.webgoat-2023.4/PathTraversal &am…

linux部署webgoat

文章目录 程序包准备上传部署 程序包准备 github上下载程序包&#xff0c;如果太慢可以点击 下载webgoat-server-8.2.2 .jar 上传部署 将包上传到服务器上&#xff0c;需要说明该包依赖java环境且对java版本要求较高&#xff0c;我们这里是用java17进行部署&#xff0c;需要…

WebGoat靶场搭建及通关记录(一)

文章目录 前言一、搭建靶场二、通关攻略1.GeneralHTTP BasicsHTTP Proxies 2.Injection FlawsSQL Injection (advanced)SQL InjectionSQL Injection (mitigation)XXE 3.Authentication FlawsAuthentication BypassesJWT tokens 总结 前言 搭建WebGoat靶场&#xff0c;以前没玩…