JQuery使用

news2025/7/18 23:02:40

简介

        一个JavaScript的框架,简化了JS的语法和操作,定义了HTML属性操作、样式操作、DOM 操作等相关函数,实现了对ajax异步请求封装。提供了很多预定义函数的JS文件。

作用

        简化部分JavaScript开发

使用步骤

        1,引入Jquery

                下载

地址1:http://code.jquery.com/jquery-3.6.0.js
地址2:http://code.jquery.com/jquery-3.6.0.min.js

                将JQuery文件放入js文件夹下 

                使用script标签进行引入

也可以直接用网址引入,但这个不是很稳:

<script type="text/javascript" src="http://code.jquery.com/jquery3.6.0.js"></script>

        2,编写代码

JQuery基础

核心函数

        jQuery()函数,选择器函数,用于获取HTML文档中的元素 ,简写为 $()

1.寻找标签

语法:$("选择器")

<span id="span">span标签</span>
<p class="p">p标签1</p>
<p class="p">p标签2</p>
<script type="text/javascript" src="/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
    $("#span")//寻找当前网页中id值为span的标签
    $(".p")//寻找当前网页中class值为p的标签
    //$("#text")//效果类似与:document.getElementById("text");
    //$(".s")//效果类似与:document.getElementsByClassName("s");
//
</script>

2.创建标签

语法:$("标签")

append() - 在被选元素的结尾插入内容
prepend() - 在被选元素的开头插入内容
after() - 在被选元素之后插入内容
before() - 在被选元素之前插入内容

示例:

<body>
		<div id="box">
		<p>p标签</p>
		</div>

	</body>
<script src="js/jquery-3.6.0.min.js" type="text/javascript"></script>
		<script type="text/javascript">
				$("#box").append("<h1>纳西妲</h1>");//先找到再添加
$("<h1>纳西妲</h1>")直接添加
		</script>

3. 入口函数

作用:类似与window.onload = function(){};,当页面加载完成后执行
语法1:
    $(document).ready(function(){
        
    });

语法2:
    $(function(){

    })

4.将DOM对象转换为JQuery对象

        通过$(DOM)方法将普通的DOM对象加工成jQuery对象之后,就可以调用jQuery的方法了。

        语法:$(DOM对象)

var p = document.getElementById("p");
console.log("p的dom对象:"+p);
var p2 = $(p);
//dom对象转换为jquery对象
console.log("p的jquery对象:"+p2);
//jquery对象转换为dom对象
console.log("p2转换为dom对象:"+p2[0]);//

注意:JQuery无法使用DOM对象提供的属性与方法

选择器

基本选择器

        id选择器:#id

        class选择器:.class

        标签选择器:标签名

        统配选择器:*

伪类选择器

        鼠标悬浮

        获取焦点 

复合选择器

                selector1 selector2 选择所有selector1 匹配的元素 里面 的匹配selector2的元素                 selector1 > selector2 选择匹配selector1元素的 子标签中 匹配selector2的元素                 selector1,selector2 选择所有匹配selector1 和 selector2的元素(并集)

                selector1 + selector2 匹配所有 紧接 在 selector1 元素后的 selector2元素

                selector1 ~ selector2匹配所有在 selector1 元素后的 selector2元素

属性选择器

        语法: 选择器[属性名]

                  选择器[属性名=属性值]

<style type="text/css">
    input[type=password]{
    background: red;
}
input[type]{
    display: block;
    height: 100px;
}
</style>
<body>
    <input type="text" />
    <input type="password" />
</body>

JQuery选择器筛选

语法

选择器筛选语法说明
$("selector: first ")匹配selector选择的元素集合中的第一个
$("selector: last ")匹配selector选择的元素集合中的最后一个
$("selector: odd ")匹配selector选择的元素集合中索引为奇数的元素,下标0开始
$("selector: even ")匹配selector选择的元素集合中索引为偶数的元素
$("selector: eq(index) ")匹配selector选择的元素集合中索引为index的 元素
$("selector: lt(index) ")匹配selector选择的元素集合中索引小于index 的元素
$("selector: gt(index) ")匹配selector选择的元素集合中索引大于index 的元素

$("selector

[attrName=attrValue] ")

匹配selector选择的元素集合中attrName属性 值为attrValue的元素
$("selector [attrName!=attrValue] ")属性不等于attrValue的

JQuery操作内容

获取内容

        语法1:$("选择器").text()

        语法2:$("选择器").html()

修改内容

        语法1:$("选择器").text(修改后的内容)

        语法2:$("选择器").html(修改后的内容)

                修改会替换原有内容,可使用+在尾部添加

JQuery操作属性

一般属性

语法:attr()

//1.获取元素属性值
    var v1 = $("img").attr("src");
    var v2 = $("img").attr("width");
//2.设置元素属性
        $("img").attr("src","imgs/img02.png");
        $("img").attr("width",200);

删除属性

        语法:removeAttr(属性名) 

$("input").removeAttr("value");
$("input").removeAttr("name")

特殊属性

 value属性

语法:val()

//1.获取元素value属性值
    var v = $("#userName").val();
//2.设置元素的value属性值
    $("#userName").val("这是设置的值");
<script type="text/javascript">
    $(function(){
        $("#btn").click(function(){
            var sex = $("input[name=sex]:checked").val();
            alert(sex);//点击后把值打印到弹框上
        });
     });
</script>
<input type="radio" value="男" name="sex"/>
男
<br />
<input type="radio" value="女" name="sex"/>
女
<br />
<input id="btn" type="button" value="提交" />

取多个时:

<script type="text/javascript">
    $(function(){
        $("#btn").click(function(){//如果点击的话
            var vs = $("input[name=like]:checked");//把name属性为like的,dom转为jq
            var values = new Array();
            for(var i = 0; i < vs.length; i++){//
                values[i] = vs[i].value;//存入数组中
            }
            alert(values);//打印到弹框
        });
    });
</script>

class属性

语法:

         addClass():添加

        removeClass():删除

        toggleClass():原标签没有就是添加,原标签有就是删除

        attr("class"):获取class的属性值

JQuery操作样式

获取css属性值

        语法:css("属性名")

        注意:不限于内联样式的属性

修改css属性

        语法:css("属性名","属性值");

         注意:不限于内联样式的属性

$("#box").css("width");
$("#box").css("height","300px");
$("#box").css("left","200px");

JQuery进阶

DOM操作

添加节点

语法:

        父节点.append(添加的子节点)

        添加的子节点.appendTo(添加到的父节点)

例:     

$("#box").append($("<h1>JQuery01</h1>"));
$("<h1>JQuery02</h1>").appendTo($("#box"));

插入节点

语法:

        node1子标签.before(要添加的子标签node2): 在node1的前面插入node2 、

        node2要添加的子节点.insertBefore(node1子标签): 将node2插入到node1之前

        node1子标签.after(要添加的子节点node2) : 在node1的后面插入node2

        node2要添加的子节点.insertAfter(node1子标签): 将node2插入到node1的后面

        父标签.prepend(要添加的子节点)   在被选元素的开头插入内容

(function(){
    $("#h1").before($("<p>1</p>")); //#h1前插入<p>1</p>
    $("<p>2</p>").insertBefore($("#h2"));//<p>2</p>插入到#h2之前
    $("#h1").after($("<p>影/p>"));//#h1之后插入<p>影</p>
    $("<p>纳西妲</p>").insertAfter($("#h2"));//将<p>纳西妲</p>插入到#h2之后
})
<script type="text/javascript">
    $(function(){
        $("#p").prepend($("<h1>h1</h1>"));
    });
</script>
<body>
    <p id="p">内容</p>
</body>



<script type="text/javascript">
    $(function(){    
        $("#p").prepend($("<h1>纳西妲</h1>"));
    });
</script>

替换节点

语法

        node1.replaceWith(node2) : 使用node2替换node1

$(function(){
    $("#h1").replaceWith($("<h1>替换后的h1</h1>"));
})

删除节点

语法:

         node.remove() :删除当前节点

         parent.empty():清楚当前标签中所有的子标签

$(function(){
    $("#h1").remove();
    $("#box").empty();
})

节点包裹

语法:

        node1.wrap(node2) : 使用node2将node1包裹起来

        node.unwrap() : 删除当前标签的父标签

$(function(){
    $("#h1").wrap($("<div style='border: 1px solid red;'></div>"));//用div包了一下#h1

    $("#h1").unwrap();//删了包裹它的div
})

事件函数

文档加载事件

        事件:ready

        触发时机:文档加载完毕时触发

示例:

$(document).ready(function(){

})

点击事件

事件:clike

触发时机:按钮点击后

例:

$("#btn").click(function(){

})

事件:dblclick

触发时机:鼠标双击后

例:

$("#btn").dblclick(function(){

})

焦点事件

事件:focus

触发时机:获取焦点后,

$("#userName").focus(function(){
    console.log("---输入框获得焦点");
});

事件:blur

触发时机:失去焦点后

$("#userName").blur(function(){
    console.log("---输入框获得焦点");
});

鼠标移入

事件

                mouseenter:鼠标移入

                mouseleave:鼠标移出

例:

		<style type="text/css">
			#box{
				width: 200px;
				height: 200px;
				
			}
			#box1{
				width: 200px;
				height: 50px;
				background: chartreuse;
				display: block;
			}
			#box2{
				width: 200px;
				height: 150px;
				background: coral;				
				display: none;
			}
			
		</style>
		
<script src="js/jquery-3.6.0.min.js" type="text/javascript" charset="UTF-8"></script>
		<script type="text/javascript">
			$(function(){
				
		$("#box1").mouseenter(function(){//移入
			//$("box2").show();
			$("#box2").slideDown(200);//淡出,慢慢显示box2
		});
		
		
		$("#box").mouseleave(function(){//移出
			//$("#box2").hide();消失
			$("#box2").slideUp(200);//淡入,慢慢消失
		});		
			})
<div id="box">
			<span id="box1">显示</span>		
				<div id="box2">隐藏一下</div>
		</div>

 

 键盘事件

事件:

        keydown:键盘按下

        keyup:键盘抬起

例:

$(function(){
    $(window).keydown(function(){
        console.log(window.event.key);//获取当前事件,对应的key把按下的键盘打印到弹框中
    })
});

内容事件

事件:change

<script type="text/javascript">
    $(function(){
        $("#input").change(function(){
            console.log($("#input").val());
        });
    });
</script>
<body>
    <input id="input" />
</body>

失去焦点后,内容改变会触发

事件的打开与关闭

语法:

        off("事件名称") 关闭元素的事件

        on("事件名称",fn) 重新打开/绑定元素的事件

$(function(){
    $("#input").click(function(){
        alert("按钮被点击了");
    });
       
    $("#input").off("click");//关闭点击事件
        
    $("#input").on("click",function(){//打开点击事件,记得上个事件被关,重新打开得重设事件
        alert("按钮被点击了1");
        });
    });

获取事件

$("#btn").click(function(ev){//回调里可以有参数,就是事件对象
    console.log(ev);//ev表示事件对象   这个时封装后的的
        window.event//直接获取当前事件  这个是普通的

});

获取事件对象

如果同标签有多个选择,可用this,谁触发就是谁

$(".btn").click(function(event){
        this//那个按钮被点击,this代表谁
    //$(this)表示发生事件的元素,被jq转换了
});

效果函数

显示隐藏

语法:

        hide:隐藏

        show:显示

if($("#box").css("display") == "none"){
    $("#box").show();
}else{
    $("#box").hide();
}

淡入淡出

语法:

        fadeIn:淡入

        fadeOut:淡出

if($("#box").css("display") == "none"){
    $("#box").fadeIn(3000);//参数 ms
}else{
    $("#box").fadeOut(3000);
}

滑入滑出

语法:

        slideDown:向下滑出

        slideUp:向上滑入

if($("#box").css("display") == "none"){
    $("#box").slideDown(3000);
}else{
    $("#box").slideUp(3000);
}

AJAX

ajax函数

语法

$.ajax({
        url:"请求url?param1=v1", //url ajax请求的目标服务器地址
        type:"get|post", //type 指定请求方式
        headers:{ //headers 设置请求头参数
            key1:"value1",
            key2:"value2"
},
data:{ //data 传递的参数
        key1:"v1",
        kye2:"v2"
},
contentType:"application/json", //contentType 请求上传的数据类型

dataType:"application/json", //dataType 预期的服务器响应的数据类型

processData:false, //processData 设置数据是否压缩传输

success:function(res){
     //success ajax请求成功后执行,参数res就是服务器返回的数据
},
error:function(e){ 
    //error ajax请求出现错误执行,参数e表示异常信息对象
}
});

注意

        contentType:

                含义:发送数据到服务器时所使用的内容类型

                默认是:"application/x-www-form-urlencoded"

                如果上传的数据中有文件将其设为false

        processData:

                含义:规定通过请求发送的数据是否转换为查询字符串。默认是 true。当上传文件时设置 false

        application/json与text/json:

                在使用上效果类似,application/json遵循的应用json协议,text/json遵循的是文本json协议

        FormData:表单数据

get函数

语法

$.get(url,data,success(response,status,xhr),dataType)

url:请求地址,必传

data:上传的参数,可选

success:请求成功时运行的函数。可选,三个可填参数
    response:响应的内容
    status:响应状态
    xhr:包含XMLHttpRequest对象

dataType:服务器响应的数据类型,默认执行智能判断.可以写json、text、html,xml等

post函数

语法

$.post(url,data,success(response,status,xhr),dataType)

url:请求地址,必传

data:上传的参数,可选

success:请求成功时运行的函数。可选
        response:响应的内容
        status:响应状态
        xhr:包含XMLHttpRequest对象

dataType:服务器响应的数据类型,默认执行智能判断.可以写json、text、html,xml等

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

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

相关文章

D-0015 红外接收硬件电路设计

红外接收硬件电路设计1 简介2 硬件电路实战3 红外遥控的原理4 主要参数5 电路设计要点1 简介 肉眼可见的光&#xff0c;按照波长进行排列依次为&#xff1a;红、成、黄、绿、青、蓝、紫。其中红光的波长范围为0.620.76μm&#xff1b;紫光的波长范围为0.380.46μm。比紫光波长…

[iOS]代码混淆

混淆有几点注意&#xff1a; 不能混淆系统方法 不能混淆init开头的等初始化方法 混淆属性时需要额外注意set方法 如果xib、 storyboard中用到了混淆的内容&#xff0c;需要手动修正。 可以考虑把需要混淆的符号都加上前缀&#xff0c;跟系统自带的符号进行区分。 混淆有风险&am…

MMEdu离线版的使用:实现石头剪刀布图像分类的检测

一、MMEdu离线版的使用 1.双击XEdu v1.0.exe解压缩到某个盘&#xff0c;会是一个文件夹XEdu 2.进入XEdu&#xff0c;双击运行“点我初始化.bat”&#xff0c;等待至运行结束命令提示符窗口自动关闭 3.双击运行“jupyter编辑器.bat”&#xff0c;将会打开一个网页版jupyter&…

记一次由于google新版本限制升级导致的跨域问题

记一次跨域问题 问题描述 系统集成到公司下面的门户网站&#xff0c;由于二级域名还没有申请下来只能先配置了我们的K8S域名 http://wire-qa.motortest.com/#/Data/systemNavigationK8s域名 http://wire-test.k8s-pv.motor.com/sce_web/index.html前端识别到跳转的如下地址后…

微服务介绍2

1 搭建项目 1.1 父项目的搭建 1.2 子项目的搭建 2 项目展示 1 搭建项目 1.1 父项目的搭建 步骤&#xff1a; 1 选择maven项目作为父项目&#xff0c;修改为1.8之后直接点击next 2 定义父项目的名称&#xff0c;修改Artifct Coordinates ---> GroupId 然后点击finsh就可以啦…

K8S部署后的使用:dashboard启动、使用+docker镜像拉取、容器部署

1、重置和清除旧工程&#xff1a;每个节点主机都要运行 kubeadm reset iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X 2、部署新的k8s项目&#xff1a; 只在主节点运行&#xff0c;apiserver-advertise-address填写主…

(附源码)计算机毕业设计JavaJava毕设项目美容院管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven Vue 等等组成&#xff0c;B/…

HDC 2022 开发者主题演讲与技术分论坛干货分享(附课件)

11月4日-11月6日&#xff0c;HDC 2022在东莞成功举办&#xff0c;这是一场大规模落地的思维与技术的碰撞&#xff0c;众多业内专家到场&#xff0c;共话未来。其中&#xff0c;开发者主题演讲围绕增强的声明式开发体系&#xff0c;通过一个Demo实例讲解技术创新点&#xff0c;助…

LEADTOOLS 入门教程: 使用文件观察器转换文件 - C# .NET Core

LEADTOOLS 是一个综合工具包的集合&#xff0c;用于将识别、文档、医疗、成像和多媒体技术整合到桌面、服务器、平板电脑、网络和移动解决方案中&#xff0c;是一项企业级文档自动化解决方案&#xff0c;有捕捉&#xff0c;OCR&#xff0c;OMR&#xff0c;表单识别和处理&#…

PyQt5 QTableWidget

PyQt5 QTableWidgetQTableWidget 示例1QTableWidget 示例2QTableWidget 示例3QTableWidget 示例4QTableWidget 示例5QTableWidget 示例6QTableWidget 示例1 演示QTableWidget控件的基本使用方法 import sys from PyQt5.QtWidgets import (QWidget, QTableWidget, QTableWidge…

The Seven Tools of Causal Inference with Reflections on Machine Learning 文章解读

目录 THE THREE LAYER CAUSAL HIERARCHY. 4 THE SEVEN TOOLS OF CAUSAL INFERENCE (OR WHAT YOU CAN DO WITH A CAUSAL MODEL THAT YOU COULD NOT DO WITHOUT?) 7 Tool 1: Encoding Causal Assumptions – Transparency and Testability. 10 Tool 2: Do-calculus and the …

CentOS 7:dmPython安装及测试连接达梦数据库

python下载地址&#xff1a;Python Source Releases | Python.org 查看数据库服务 dmPython 安装 cd /home/dmdba/dmdbms/drivers/python/dmPython python setup.py install [rootlocalhost dmPython]# python setup.py install running install running bdist_egg running e…

通过Python Pandas分析数据上涨下跌趋势的方法:求离散数据的差分、导数

在实际工作中&#xff0c;我们经常需要分析一组数据的历史走势/趋势情况&#xff0c;比如要从产品数据库中筛选出销量处于上升趋势的产品&#xff0c;或者从股票历史数据库中筛选出一直处于上涨的股票。 那么可以通过分析计算该组数据的差分来模拟求出该组数据走势线的导数&…

Kubernetes CKA 模拟题解析【2022最新版】(连载001)

练习准备 这是 Kubernetes CKA 认证的模拟考试&#xff0c;大家不要错过哦。 在模拟考试开始之前建议您先设置一下以下命令&#xff1a; $ alias kkubectl $ export do"--dry-runclient -o yaml" # like short for dry output. use whatever you like 设置代码补…

Lumion和Enscape渲染器有什么区别?哪个适合你

提到“傻瓜式渲染器”&#xff0c;你的脑子里最先闪过哪个软件名&#xff1f;当一溜子软件名在脑袋里飞快跳转的时候&#xff0c;有没有发现现在很多软件都被打上“傻瓜式渲染器”的标签&#xff1f;那今天咱们就先聊一聊Lumion和Enscape这两个知名软件。 01、软件介绍 Lumio…

DOTA-PEG-麦芽糖 maltose-DOTA 麦芽糖-四氮杂环十二烷四乙酸

DOTA-PEG-麦芽糖 maltose-DOTA 麦芽糖-四氮杂环十二烷四乙酸 PEG接枝修饰麦芽糖&#xff0c;麦芽糖-聚乙二醇-四氮杂环十二烷四乙酸&#xff0c;DOTA-PEG-麦芽糖 中文名称&#xff1a;麦芽糖-四氮杂环十二烷四乙酸 英文名称&#xff1a;maltose-DOTA 别称&#xff1a;DOTA修…

浏览器渲染原理-通俗易懂版本

文章目录浏览器渲染原理前言1. 网页的解析过程2. 浏览器的功能与组成2.1 浏览器内核2.2 进程与线程3. 浏览器渲染流程3.1 渲染引擎解析过程3.2 渲染引擎主要模块4. 渲染页面的详细流程4.1 HTML 解析过程4.2 生成 CSS 规则4.3 构建 Render Tree4.4 布局 (layout) 和绘制 (Paint)…

外观专利怎么申请?

问题一&#xff1a;什么是外观专利&#xff1f; 外观专利跟实用新型专利和发明专利有所不同。实用新型和发明主要保护的技术方案或者方法&#xff0c;配方。而外观专利保护的产品的形状、图案或其结合以及色彩富有美感&#xff0c;并且适用于工业应用的新设计。比如某企业推出…

华为“仓颉”不是中文编程,中文编程早有所属,势如破竹

“中国自己的编程语言究竟在哪里&#xff1f;”关心IT生态的我们&#xff0c;经常深思与担忧。 语言是文化精髓所在&#xff0c;一方水土养一方人&#xff0c;不管是中文&#xff0c;还是英语&#xff0c;作为交流工具&#xff0c;语言烙印着不同地方的生活场景&#xff0c;一方…

[附源码]计算机毕业设计JAVA企业公开招聘系统

[附源码]计算机毕业设计JAVA企业公开招聘系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybati…