JQuery使用
创始人
2024-04-12 14:34:23

简介

        一个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标签进行引入

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


        2,编写代码

JQuery基础

核心函数

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

1.寻找标签

语法:$("选择器")

span标签

p标签1

p标签2


2.创建标签

语法:$("标签")

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

示例:

p标签

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元素

属性选择器

        语法: 选择器[属性名]

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



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("这是设置的值");


取多个时:

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($("

JQuery01

")); $("

JQuery02

").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($("

1

")); //#h1前插入

1

$("

2

").insertBefore($("#h2"));//

2

插入到#h2之前$("#h1").after($("

影/p>"));//#h1之后插入

$("

纳西妲

").insertAfter($("#h2"));//将

纳西妲

插入到#h2之后 })

内容

替换节点

语法

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

$(function(){$("#h1").replaceWith($("

替换后的h1

")); })

删除节点

语法:

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

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

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

节点包裹

语法:

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

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

$(function(){$("#h1").wrap($("
"));//用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:鼠标移出

例:

		


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

事件的打开与关闭

语法:

        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等

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...