7、前端--jQuery简介、基本选择器、基本筛选器、属性选择器、表单选择器、筛选器方法、节点操作、绑定事件
jQuery简介
宗旨:Write less, do more.
内部封装了js代码 是编程更加简单并且兼容所有的主流浏览器
版本:1.x 2.x 3.x# 可以使用3.x最新版
是第三方的类库:使用jQuery需要提前导入# 实际中很容易遗忘了导入jQuery下载
压缩之后的版本将很多变量名全部使用英文字母代替了
导入方式
本地导入
缺点在于需要提前下载文件
优点在于不会受到网络的影响
CDN导入
# CDN:内容分发网络
网站:bootcdnjquery最好使用3.4.1版本
基本使用
很多时候jQuery都是一行代码搞定所有
"""
使用jQuery需要有关键字声明
jQuery 或者 $ (推荐)
"""
基本选择器
/*
如何通过变量名来区分指代的是js对象还是jQuery对象
eg:
原生的js对象
var pEle = ...
jQuery的对象
var $pEle = ...
*/
$('#d1')// js:document.getElementById('d1')
$('.c1')// js:document.getElementsByClassName('d1')
$('p')// js:document.getElementsByTagName('p')
$('div.c1')// 查找class含有c1的div标签
$("#d1, .c1, p")// 并列查找
$("x y") // x的所有后代y(子子孙孙)
$("x > y") // x的所有儿子y(儿子)
$("x + y") // 找到所有紧挨在x后面的y
$("x ~ y") // x之后所有的兄弟y
基本筛选器
:first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素
:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)// 匹配所有大于给定索引值的元素
:lt(index)// 匹配所有小于给定索引值的元素
:not(元素选择器)// 移除所有满足not条件的标签
:has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)
属性选择器
$('[name]')
$('[name="jason"]')
$('input[name="jason"]')
表单筛选器
$(':text') // 查找属性值是text的form表单内的标签
$(':checked')// 会连同option默认的selected一起找到
筛选器方法
/*
使用原生js代码批量查找到标签之后结果是一个数组
需要索引取值之后才可以调用标签的一些方法使用jQuery代码批量查找到标签之后 结果是一个jQuery对象(像数组)
不需要索引取值 就可以直接调用封装的方法两者对象的转换
js对象转jQuery对象
$(js对象)
jQuery对象转jd对象
jQuery对象索引取值
*/
.next()
.nextAll()
.nextUntil()
.prev()
.prevAll()
.prevUntil()
.parent()
.parents()
.parentsUntil()
.children()
.siblings()
.find()
节点操作
# 样式类操作
addClass()# classList.add()
removeClass()# classList.remove()
hasClass()# classList.contains()
toggleClass()# classList.toggle()# 样式操作
css('属性名','属性值')$(window).scroll(function () {
if ($(window).scrollTop() > 100) {
$("#b2").removeClass("hide");
}else {
$("#b2").addClass("hide");
}
});
# 文本操作
text()# innerText
html()# innerHTML
val()# value
jQuery对象先转js对象之后.files
'''
括号内
不写参数:获取值
写参数:设置值
'''
# 属性操作
attr()# setAttribute()
'''适用于属性为静态的情况(不经常修改动态变化的)'''
prop()
$($(':checkbox')[1]).prop('checked',true)
"""适用于动态变化的情况 尤其是选择类标签"""# 文档处理
append()# 内部的尾部追加元素
prepend()# 内部的头部追加元素
after()# 同级别下面添加元素
before()# 同级别上面添加元素
remove()# 移除当前元素
empty()# 清空当前元素内部所有的数据
clone()# 克隆标签 括号内可以加true来克隆事件
事件
绑定事件的两种方式
方式1
jQuery对象.事件名(function(){})
$('#d1').click(function(){alert(123)})
方式2
jQuery对象.on('事件名',function(){})
$('#d1').on('click',function(){alert(123)})
"""
有时候绑定事件可能没有效果 这个时候可以考虑切换绑定方式
方式1不行就方式2
方式2不行就方式1
"""click(function(){...})
hover(function(){...})
blur(function(){...})
focus(function(){...})
change(function(){...})
keyup(function(){...})
推荐阅读
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- Shell-Bash变量与运算符
- 清明,是追思、是传承、是感恩。
- 牛人进化+|牛人进化+ 按自己的意愿过一生
- 七老修复好敏感、角质层薄、红血丝
- 华为旁!大社区、地铁新盘,佳兆业城市广场五期!
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 螃蟹和这些食物同吃,轻则腹泻、重则中毒!要小心哦~
- 八、「料理风云」