jQuery是一个快速、小型且功能丰富的JavaScript
优点:丰富的功能(DOM操作、过滤器、时间、动画、Ajax等)、编写更少可读的代码提高开发人员的工作效率、跨浏览器支持(IE9+)
缺点:jQuery代码库一直在增长(jQuery1.5超过200KB)、不支持组件化开发、jQuery更适合组件化开发,当涉及到复杂的项目时,能力有限
jQuery使用
jQuery监听文档加载
1 | $( document ).ready( handler ) : //deprecated |
jQuery与其他库变量名冲突(jQuery别名$的冲突)
1 | jQuery.noConflict() |
jQuery对象(类数组对象——可通过索引访问)
- 如果传入假值:返回一个空的集合。
- 如果传入选择器:返回在在documnet中所匹配到元素的集合。
- 如果传入元素:返回包含该元素的集合。
- 如果传入HTML字符串,返回包含新创建元素的集合。
- 如果传入回调函数:返回的是包含document元素集合, 并且当文档加载完成会回调该函数。
- 因为函数也是对象,所以该函数还包含了很多已封装好的方法。如:jQuery.noConflict、jQuery.ready等
1 | const obj = { |
jQuery对象与Element对象的区别:jQuery会包含所选择到的对象,可以通过$(element)和obj3[index]之间相互转换,转换后具有不同的函数
jQuery选择器
常规选择器:通用选择器(*)、属性/后代/基本(id、class、元素)/兄弟/交集/伪元素(伪类不行)/可见选择器(:visible,:hidden)、jQuery扩展选择器(:eq(),:odd,:even:first:last)—eq是用索引、odd奇数、even偶数
jQuery过滤器
- eq(index): 从匹配元素的集合中,取索引处的元素, eq全称(equal 等于),返回jQuery对象。
- first() : 从匹配元素的集合中,取第一个元素,返回jQuery对象。
- last(): 从匹配元素的集合中,取最后一个元素,返回jQuery对象。
- not(selector): 从匹配元素的集合中,删除匹配的元素,返回jQuery对象。
- filter(selector): 从匹配元素的集合中,过滤出匹配的元素,返回jQuery对象。
- .find(selector): 从匹配元素集合中,找到匹配的后代元素,返回jQuery对象。
- is(selector|element| . ): 根据选择器、元素等检查当前匹配到元素的集合。集合中至少有一个与给定参数匹配则返回true。 8.odd() :将匹配到元素的集合减少为集合中的奇数,从零开始编号,返回jQuery对象。
- even():将匹配到元素的集合减少到集合中的偶数,从零开始编号,返回jQuery对象。
- 支持链式调用
- on添加监听
1 | const $li = $('li') |
jQuery函数
jQuery对文本的操作
.text()、.text(text)
1 | <div class="active list div"> |
1 | const $li = $('li') |
.html、.html(htmlString)
1 | const $li = $('li') |
.val()、.val(value)
1 | const $li = $('li') |
jQuery对css的操作
.width()、.height()、.css(prppertyName) 获取选中第一个元素的指定样式属性值
.css(propertyName,value)、.css({propertyName1:value1,propertyName2,value2}) 为每一个匹配到的元素设置属性
jQuery对class的操作
.addClass(className)、.addClass(classNames)、.addClass(funcntion)
1 | const $li = $('li') |
.hasClass(className) 判断匹配到的元素是否分配了该类
1 | const $div = $('div') |
.removeClass()、.removeClass(className)、.removeClass(classNames)、.removeClass(function) 删除指定的类
.toggleClass()、.toggleClass(className[,state])、.toggleClass(classNames[,state]) 删除或添加指定的类