day28 jQuery

概述

jQuery是一个轻量级的js库,它将js的功能进行了封装(所有的都是函数),在封装的基础上做了进一步的兼容(兼容性好)


特点

链式调用(里面所有的方法返回的都是一个jQuery对象)

丰富的选择器和筛选器

良好的动画兼容(动画库很强大 借助了animated.js(主要是css3的动画))


简单入门

核心对象 jQuery(是一个函数) 简写为$

dom对象转为jQuery对象将dom对象传入jQuery的函数

将jQuery对象转为dom对象  使用下标获取对应的dom元素

<div>hello</div>

<div>world</div>

<script src="./jquery.min.js"></script>

<script>

// 核心对象 (都是函数)

console.log(jQuery);

console.log($);

//相对于是document.querySelectorAll

console.log(jQuery('div')); //jquery对象

//将jQuery对象转为dom对象使用下标获取就可以了

console.log(jQuery('div')[0]); //dom对象

//将dom对象转为jQuery对象

let dom = document.querySelector('div')

console.log($(dom));

</script>


jQuery的选择器

所有css选择器都可以使用

新增相关选择器 (odd even first last eq)

//css选择器

console.log($('ul>li:nth-child(2)'));

//新增的选择器

console.log($('li:eq(1)'));//eq 传入的是下标 获取第二个

console.log($('li:odd'));//根据下标 获取下标为奇数的

console.log($('li:even'));//根据下标 获取下标为偶数的

console.log($('li:first'));//获取第一个

console.log($('li:last'));//获取最后一个


jQuery的筛选器

它是用于筛选获取的元素的

它可以根据条件(根据选择器) 及关系筛选(节点关系)


相关筛选器

eq 筛选对应下标的元素

last 筛选最后一个

first 筛选第一个

parent 父元素

children 子元素

siblings 兄弟元素

prev 前面的兄弟

next 后面的兄弟

prevAll 前面的所有兄弟

nextAll 后面的所有兄弟

find 查找子元素内容


jQuery的属性操作

prop 只能操作原生属性 (原生属性 本身自带属性)

attr 可以操作任意属性

//属性名 属性值 如果传递的参数只有一个就是获取 如果是俩个就是设置

$('div').prop('class','box')//设置

console.log($('div').prop('class'));//获取

//prop只能操作原生属性

console.log($('div').eq(0).prop('id'));

//对应不是原生属性值获取的是undefined

console.log($('div').eq(0).prop('name'));

//设置到对应的元素对象上 element.id element.name

$('div').prop('content','我是内容')//设置

console.log($('div').prop('content'));

//attr 底层实现setAtrribute getAttribute

$('div').attr('message','ok')


removeProp 删除prop设置的属性 (原生的属性)

removeAttr删除属性 (removeAttribute)


class相关操作

addClass 添加一个class

removeClass 移除一个class

toggleClass 切换 (有就删除 没有就添加)


样式操作

css方法

//样式操作 获取样式 设置样式

//传递一个参数就获取 传递俩个参数就是设置(参数传满了就是设置)

//可以获取所有的样式

console.log($('div').css('backgroundColor'));

console.log($('div').css('height'));

//设置样式

$('div').css('width','100px')


DOM操作

增删改查

append 从后面追到里面

prepend 从前面追到里面

before 插入到当前的前面

after 插入到当前的后面

empty 清空

remove 删除

replaceWith 替换

clone 克隆


宽高获取

width 获取本身的宽度

height 获取本身的高度

innerWidth 获取本身的宽度+填充

innerHeight 获取本身的高度+填充

outerWidth 获取本身的宽度+填充+边框

outerHeight 获取本身的高度+填充+边框


获取位置

offset 获取当前的盒子离页面的距离

position 获取当前盒子离父元素的距离 (不受margin影响)


事件

jQuery的事件用到的就是观察者模式,它设计了对应的方法

on 监听事件

off 取消事件

one 执行一次


jQuery针对所有的常用事件都实现了对应的方法

click

dblclick

mouseenter

mouseleave

keydown

keyup

change

hover(总和了mouseleave mouseenter)

...


jQuery实现对应的事件委托

// 利用事件委托来操作

$('ul').mouseover((e)=>{

//获取事件源

e = e || window.event

if(e.target.tagName == 'LI'){

//给对应的li添加class

$(e.target).addClass('selected')//给自己添加样式

$(e.target).siblings().removeClass('selected')//移出兄弟的样式

}

})


显示内容

html相当于innerHTML

text相当于innerText

val 相当于获取value


jQuery的动画

animate 动画

//option(需要变化的样式) 时间(执行时间) 回调函数 option里面只传number类型的值 (可以带单

位)

$('div').animate({

width:200,

left:200

},2000,()=>{

$('div').animate({

width:100,

top:300,

opacity:0.5

},2000,()=>{

console.log('动画完成了');

})

})


show 显示 hide 隐藏 toggle 切换

slideUp 上去 slideDown 下去 slideToggle 切换

fadeOut 隐藏 fadein 显示 fadeToggle 切换 fadeTo 切换到对应透明度

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 Jquery是一个轻量级的js库,它将js的功能进行了封装(所有的都是函数),它在封装的基础上做了进一步的兼...
    疯油精阅读 767评论 0 0
  • jQuery 1.jQuery和js入口函数 1.1jQuery和js入口函数的区别 window.onload ...
    煤球快到碗里来阅读 2,713评论 0 0
  • 一、初识jQuery.js jQuery.js是一款优秀的JS类库,其本质就是在一个立即执行的匿名函数中的闭包,j...
    刘远舟阅读 3,885评论 1 0
  • 一:认识jquery jquery是javascript的类库,具有轻量级,完善的文档,丰富的插件支持,完善的Aj...
    xuguibin阅读 5,625评论 1 7
  • Map和Set --是ES6新增的两个数据类型 --都属于内置构造函数 既 使用new的方法来实例化 Set是一个...
    小胖子_d7d8阅读 1,261评论 0 0