jQuery是啥
-
jQuery 中文文档:jQuery 是一个高效、精简并且功能丰富的 JavaScript 工具库。
-
维基百科:jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。
-
MDN:jQuery 是一个着重简化 DOM 操作,AJAX 调用和事件处理的 JavaScript 库。
总的来说就是jQuery就是JavaScript的一个库,它有一些功能可以使JavaScript用起来更加方便的工具
我从jQuery学到了什么
jQuery封装了一些函数,暴露出一些API可以对选中的元素进行操作。可以通过选择器得到被选中的元素,然后通过jQuery暴露出来的API对选中的元素进行操作
获取元素
最直接的就是通过CSS选择器选择我们想要的当前元素:
$(document) //选择整个文档对象
$('#Id') //选择ID为Id的网页元素
$('input[name=first]') // 选择name属性等于first的input元素
如果我们选择的有好多元素同时符合条件,jQuery还提供各种强大的过滤器,对结果集进行筛选,缩小选择结果,这种方法还包括可以在DOM树上进行移动,找到该元素的家属:
$('div').has('p'); // 选择包含p元素的div元素
$('div').not('.myClass'); //选择class不等于myClass的div元素
$('div').filter('.myClass'); //选择class等于myClass的div元素
$('div').first(); //选择第1个div元素
$('div').next('p'); //选择div元素后面的第一个p元素
$('div').parent(); //选择div元素的父元素
$('div').siblings(); //选择div的同级元素
链式操作
jQuery的链式操作就是可以选中网页元素以后,对它进行一系列操作,并且所有操作可以连接在一起,以链条的形式写出来,比如:
$('div').find('h3').eq(2).html('Hello');
分解开来,就是下面这样:
$('div') //找到div元素
.find('h3') //选择其中的h3元素
.eq(2) //选择第3个h3元素
.html('Hello'); //将它的内容改为Hello
jQuery的每一步操作返回的都是一个对象,API对象或者是数组,可以连在一起实现链式调用。
创建元素
jQuery中创建元素非常简单,直接把新元素写成字符串的形式传入jQuery的构造函数就可以了
$('<p>Hello</p>');
$('<li class="new">new list item</li>');
$('ul').append('<li>list item</li>');
移动元素
假定我们选中了一个div元素,需要把它移动到p元素后面。
第一种方法是使用.insertAfter(),把div元素移动p元素后面:
$('div').insertAfter($('p'));
第二种方法是使用.after(),把p元素加到div元素前面:
$('p').after($('div'));
表面上看,这两种方法的效果是一样的,唯一的不同似乎只是操作视角的不同。但是实际上,它们有一个重大差别,那就是返回的元素不一样。第一种方法返回div元素,第二种方法返回p元素。你可以根据需要,选择到底使用哪一种方法。
修改元素的属性
.attr()获取匹配的元素集合中的第一个元素的属性的值。设置每一个匹配元素的一个或多个属性。
getter/setter
jQuery设计模式
- 不用new的构造函数
- 重载
$(支持多个多种参数) - 闭包隐藏细节
- 适配器,针对不同浏览器使用不同代码
- 采用了别名,进行缩写
为什么要学jQuery
- 简单、经典
- 是目前前端最长寿的库,是世界上使用最广泛的库
- 通过jQuery学习很多使用、便捷的封装技巧
- 为Vue/React打下基础
所以,虽然jQuery过时了,但是,还是很值得学习的,没有谁规定学会就得用啊,只是让后续的工作更便捷一些
本文参考以及学习资料: