文章目录
jQuery
JavaScript 库 : 是一个封装好的特定的集合( 方法和函数 ) .
从封装一大堆函数的角度理解库, 就是在这个库中, 封装了很多预先定义好的函数在里面
入口函数
// 1. 传统写法
$(document).ready(function() {
})
// 2.
$(function()) {
})
- 等着 DOM 结构渲染完毕即可执行内部代码 , 不必等所有外部资源加载完毕
- 相等于 原生js 中的DOMContentLoaded
- 不同于 原生 js 中的load 事件(等页面文档,外部 js 文件,css 文件,图片加载完毕 才执行内部代码)
$
$ 是 jQuery 的别称 , 是 jQuery 的顶级对象
jQuery 转换为 DOM对象
client.width
$('div')[index] index是索引号 //法一
$('div').get(index) index是索引号 //法二
API
jQuery 选择器
$("选择器") //括号里直接写CSS 选择器即可,但是要加引号
$(this).index() //获得当前元素索引号
筛选选择器
语法 | 用法 | 描述 |
---|---|---|
:first | $(‘li:first’) | 获取第一个li元素 |
:last | $(‘li:last’) | 获取最后一个li元素 |
:eq(index) | $(‘li:eq(2)’) | 获取的li元素中,选择索引号为2的元素,索引号index从0开始 |
:odd | $(‘li:odd’) | 获取的li元素中, 选择索引号为奇数的元素 |
:even | $(‘li:even’) | 获取的li元素中, 选择索引号为偶数的元素 |
语法 | 用法 | 说明 |
---|---|---|
parent() | $(‘li’).parent() | 查找父级(最近一级父元素) |
children(selector) | $(‘ul’).children(‘li’) | 相当于$(ul>li),(子代选择器)亲儿子 |
find(selector) | $(‘ul’).find(‘li’) | 相当于 $(‘ul li’),后代选择器(所有的后代都可以查找) |
siblings(selector) | $(’.first’).sibling(‘li’) | 查找亲兄弟节点,不包括自己 |
nextAll([expr]) | $(’.first’).nextAll() | 查找当前元素之后的所有同辈元素 |
prevtAll([expr]) | $(’.last’).prevtAll() | 查找当前元素之前的所有同辈元素 |
hasClass(class) | $(‘div’).hasClass(‘protected’) | 检查当前元素是否含有某个特定的类,如果有返回true |
eq(index) | $(‘li’).eq(2); | 相当于$(‘li:eq(2)’,index从0开始) |
链式编程
$(this).css('color', 'red').siblings().css('color','');
隐式迭代
遍历内部DOM元素( 伪数组形式存储 )的过程叫做隐式迭代
给匹配到的所有元素进行循环遍历, 执行相应的方法,而不用我们再进行循环,简化操作
样式操作
$(function() {
$(this).css("width") //参数只写属性名 则返回 值
$(this).css("width", "200px") //属性必须加引号,如果值是数字不限单位与引号
$("div").css({
width: 400,
height: 400,
// 参数 可以是对象形式,属性名与属性值用:(冒号)隔开
//属性可以不加引号,值为数字也可以不加引号,如果值是字符串需要加引号
})
}
$("div").click(function() {
$(this).addClass(); //相当于追加类名 , 不影响之前的类名
$(this).remove(); //移除类
$(this).toggleClass(); //?
})
效果
显示与隐藏
show([speed,[easing],[fn]])
hide([speed,[easing],[fn]])
toggle() //切换
- 参数可以省略
- speed 三种(“show” , “normal” , “fast”)或者 表示动画时长的毫秒数值
- easing 用来指定切换效果,默认是 “swing” ,还有 “linear”
- fn: 回调函数 , 在动画完成后执行的函数, 每个元素执行一次
滑动
slideDown([speed,[easing],[fn]) //下滑动
slideUp([speed,[easing],[fn]) //上滑动
slideToggle([speed,[easing],[fn] ) //切换
停止
stop() //停止上次的动画
hover(function() {}, function() {}); //第一个是鼠标经过;第二个是鼠标离开 || 如果只写一个函数表示两个事件共有一个函数
淡入,淡出
fadeIn([speed,[easing],[fn])
fadeOut([speed,[easing],[fn])
fadeTo([[speed],opacity,[easing],[fn]]) //OPacity
fadeToggle([speed,[easing],[fn])
- opacity 透明度必须写
- speed 三种(“show” , “normal” , “fast”)或者 表示动画时长的毫秒数值
- easing 用来指定切换效果,默认是 “swing” ,可用非参数 “linear”
自定义动画
animate(params,[speed],[easing],[fn])
- params 想要更改的样式属性 , 以对象的形式传递,属性名可以不带引号,复合属性要用驼峰式命名法
JQ属性操作
prop("属性") //获取
prop("属性", "属性值") //设置属性值
change( ) //????
//自定义
attr("属性")
attr("属性", "属性值")
data("属性") // 不用写data- ,返回数字型
data("属性", "属性值") //数据缓存//这里面的数据是存放在元素的内存里面
内容文本值
html() //获取元素的内容(含标签)
taxt() //获取元素的内容(不含标签)
//括号中可对内容进行修改
val() //设置表单值
遍历元素
$("div").each(function(index, domEle) {
// index 索引号 //demEle dom元素对象
})
$.each($("div"),function(i, ele) {
}) //主要处理函数
$.each(arr,function(i, ele) {
})
$()//创建
element.append() //内部添加放入最后面
element.prepend() //内部添加,放最前面
element.after() //外部什么都有
element.before/ /外部什么都有
element.remove() // 删除匹配的元素
element.empty() //删除匹配元素里面的子节点
jQuery 尺寸
width( ) / height()
innerWidth( ) / innerHeight() //width和 height+padding
outerWidth() //width + height+padding+border
outserWidth //hright+padding+border+margin
offset()
offset().top /offset().left
position(); //带有定位的父级 只能获取不能改变
mouseover mouseout blur focus change keydown keyup resize scroll
element.on({
})
on('click', 'li' (子选择器), function(){
})
off()解绑 //接触事件
$.each($(""),funcion(i, ele))