JQuery
一、简介
-
-
-
-
1.x:兼容ie678,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4 (2016年5月20日)
-
2.x:不兼容ie678,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低版本的浏览器可以使用2.x,最终版本:2.2.4 (2016年5月20日)
-
-
二、使用
-
-
相当于 window.onload=function(){},功能比window.onload更强大
-
window.onload一个页面只能写一个,但是可以写多个$() 而不冲突
-
window.onload要等整个页面加载完后再执行(包括图片、超链接、音视频等),但是$的执行时间要早
-
完整形式是$(document).ready(…….);
jQuery(document).ready(…….);
作用2: $(selector)
-
选择器。jQuery具有强大的选择器功能,后面会有专门章节进行介绍
-
-
jQuery的基本语法:$(selector).action
获取页面内容:$(selector)
操作页面的内容:action
-
控制页面样式
-
访问和操作DOM元素
-
事件处理功能
-
动画功能
-
-
三、JQuery对象和DOM对象
-
DOM对象:直接使用JavaScript获取的节点对象 className innerHTML value
-
jQuery对象:使用jQuery选择器获取的节点对象,它能够使用jQuery中的方法 addClass() html() val()
互相转换:
-
DOM对象转换成jQuery对象 $(DOM对象)
-
jQuery对象转换成DOM对象 jQuery对象[index]
-
-
getElementsByName( ):返回多个元素节点(节点数组)
-
getElementsByClassName( ) :返回多个元素节点对象(节点数组)
-
1. 基础选择器
-
-
ID选择器
$("#id")
$("p#id")
-
类选择器
$(".class")
$("h2.class")
-
通配选择器
$("*")
-
并集选择器
$("elem1, elem2, elem3")
-
后代选择器
$(ul li)
-
父子选择器
$(ul > li)
-
后面第一个兄弟元素节点
prev + next
-
后面所有的兄弟元素节点
2. 属性选择器
-
-
[attribute1][attribute2] 复合属性选择器,需要同时满足多个属性
-
[attribute=value] 匹配给定的属性是某个特定值的元素
-
[attribute!=value] 匹配所有属性不等于特定值的元素
-
[attribute^=value] 匹配给定的属性是以某些值开始的元素
-
[attribute$=value] 匹配给定的属性是以某些值结尾的元素
-
-
:first 获取第一个元素
-
:last 获取最后一个元素
-
:odd 匹配所有索引值为奇数的元素,从 0 开始计数
-
:even匹配所有索引值为偶数的元素,从 0 开始计数
-
:eq(n) 匹配一个给定索引值的元素,从0开始计数
-
:gt(n) 匹配所有大于给定索引值的元素
-
:lt(n) 匹配所有小于给定索引值的元素
针对上级标签而言的位置选择器
-
:first-child 匹配第一个子元素
-
:last-child 匹配最后一个子元素
-
:nth-child(n) 匹配其父元素下的第N个子元素
-
-
:text :password :radio :checkbox :hidden :file :submit
-
:input 匹配所有 input, textarea, select 和 button 元素
注意:$("input")
和$(":input")
的区别
-
$("input"):标签选择器,只匹配input标签
-
$(":input"): 匹配所有 input, textarea, select 和 button 等元素
关于表单项状态的选择器
五、JQuery事件机制
事件驱动: 监听对应的事件, 触发了对应的事件, 事件会被监听到, 监听到事件后驱动函数的执行.
-
使用jQuery给元素绑定事件时,要写在页面加载完事件内。
-
实现显示动画效果方法:show()
实现切换显示和隐藏动画效果方法:toggle()
可以设置参数,单位是毫秒,代表在该时间内完成隐藏/显示
2. 滑动动画
实现向上滑动动画效果方法:slideUp()
实现淡入动画效果方法:fadeIn()
实现淡出动画效果方法:fadeOut()
实现淡入淡出切换效果方法:fadeToggle()
实现淡入到指定透明度效果方法:fadeTo() 有两个参数,第一个是时间,第二个是透明度(0~1)
七、操作DOM
1. 操作文本
-
-
html() 获取文本节点(标签+文本)
-
html(标签) 添加标签,会覆盖原有的所有内容
-
-
text() 相当于innerText
-
text() 获取文本节点(文本)
-
-
2. 操作属性
-
-
attr(属性名, 属性值) 设置属性值
-
removeAttr(属性名) 移除属性
-
prop(属性名) 获取属性值
-
prop(属性名, 属性值) 设置属性值
-
jQuery 1.6新增加prop()方法。如checked, selected、readonly、disabled 使用prop()时,返回值是true或者false,更加方便处理。
-
-
val() 获取value属性值
-
3. 操作元素
-
-
父元素节点.append(新的子元素节点)
-
新的子元素节点.appendTo(父元素节点)
-
-
prepend()、prependTo() 添加子元素节点(前置)
-
before() 、insertBefore() 添加平级元素节点(前面)
-
after()、insertAfter() 添加平级元素节点(后面)
-
parent() 获取父元素节点
-
remove() 删除元素节点
-
八、操作CSS
1. 直接操作CSS
-
-
css(css,val)
-
-
本质上是修改指定元素的style属性的值。
-
-
-
removeClass(值) 移除属性值
-
-
本质是修改指定元素的class属性值。
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现