JQuery 作为前端的轻量级类库 我经常在写小demo的时候引用方便
对比一: 入口函数
jQuery 入口函数:
$(document).ready(function(){
// 执行代码
});
或者
$(function(){
// 执行代码
});JavaScript 入口函数:
window.onload = function () {
// 执行代码
}jQuery 入口函数与 JavaScript 入口函数的区别:
- jQuery 的入口函数是在 html 所有标签(DOM)都加载之后,就会去执行。
- JavaScript 的 window.onload 事件是等到所有内容,包括外部图片之类的文件加载完后,才会执行。

对比二:DOM选择器
常用的id选择器
jq: $('#id')
js: document.getElementById('id')
常用的class选择器
jq: $('.class')
js: document.getElementByClassName('class')
| $("*") | 选取所有元素 | |
| $(this) | 选取当前 HTML 元素 | |
| $("p.intro") | 选取 class 为 intro 的 <p> 元素 | |
| $("p:first") | 选取第一个 <p> 元素 | |
| $("ul li:first") | 选取第一个 <ul> 元素的第一个 <li> 元素 | |
| $("ul li:first-child") | 选取每个 <ul> 元素的第一个 <li> 元素 | |
| $("[href]") | 选取带有 href 属性的元素 | |
| $("a[target='_blank']") | 选取所有 target 属性值等于 "_blank" 的 <a> 元素 | |
| $("a[target!='_blank']") | 选取所有 target 属性值不等于 "_blank" 的 <a> 元素 | |
| $(":button") | 选取所有 type="button" 的 <input> 元素 和 <button> 元素 | |
| $("tr:even") | 选取偶数位置的 <tr> 元素 | |
| $("tr:odd") | 选取奇数位置的 <tr> 元素 |
常用的选择器 由于长时间写vue 对于jq的一些选择器确实在用到的时候想不起来,整理出来下次用的时候直接找这个就好了
jQuery 事件
| 鼠标事件 | 键盘事件 | 表单事件 | 文档/窗口事件 |
|---|---|---|---|
| click | keypress | submit | load |
| dblclick | keydown | change | resize |
| mouseenter | keyup | focus | scroll |
| mouseleave | blur | unload | |
| hover |
一.keypress,keydown,keyup的区别:
1.keydown:在键盘上按下某键时发生,一直按着则会不断触发(opera浏览器除外), 它返回的是键盘代码;
2.keypress:在键盘上按下一个按键,并产生一个字符时发生, 返回ASCII码。注意: shift、alt、ctrl等键按下并不会产生字符,所以监听无效 ,换句话说, 只有按下能在屏幕上输出字符的按键时keypress事件才会触发。若一直按着某按键则会不断触发。
3.keyup:用户松开某一个按键时触发, 与keydown相对, 返回键盘代码.
二.两种常用用法举例
案例1:获取按键代码或字符的ASCII码
$(window).keydown( function(event){
// 通过event.which可以拿到按键代码. 如果是keypress事件中,则拿到ASCII码.
} );案例2:传递数据给事件处理函数
语法:
jQueryObject.keypress( [[ data ,] handler ] );- data: 通过event.data传递给事件处理函数的任意数据;
- handler: 指定的事件处理函数;
举例:
// 只允许按下的字母键生效, 65~90是所有大写字母的键盘代码范围.
var validKeys = { start: 65, end: 90 };
$("#keys").keypress( validKeys, function(event){
var keys = event.data; //拿到validKeys对象.
//event.which是获取ASCII码,前面的函数是将ASCII码转换成字符,空格键和Enter键输出均为空白。 return event.which >= keys.start && event.which <= keys.end;
} );jQuery 动画
常用的显示隐藏方法:hide() show() toggle()(显示被隐藏的元素,并隐藏已显示的元素)
$(selector).toggle(speed,callback);
淡入淡出方法: fadeIn() fadeOut() fadeToggle() fadeTo()
滑动方法:slideDown() slideUp() slideToggle()
动画方法: animate() 这就很强大了
可以用animate()操作css所有属性
需要注意的是: 当使用 animate() 时,必须使用 Camel 标记法书写所有的属性名,比如,必须使用 paddingLeft 而不是 padding-left,使用 marginRight 而不是 margin-right,等等
停止动画:$(selector).stop(stopAll,goToEnd);
jQuery 的HTML
获得内容: text()、html() 以及 val()
- text() - 设置或返回所选元素的文本内容
- html() - 设置或返回所选元素的内容(包括 HTML 标记)
- val() - 设置或返回表单字段的值
获得属性:attr()
attr 和 prop 的区别介绍:
对于 HTML 元素本身就带有的固有属性,在处理时,使用 prop 方法。
对于 HTML 元素我们自己自定义的 DOM 属性,在处理时,使用 attr 方法。
实例 1:
<a href="https://www.runoob.com" target="_self" class="btn">菜鸟教程</a>这个例子里 <a> 元素的 DOM 属性有: href、target 和 class,这些属性就是 <a> 元素本身就带有的属性,也是 W3C 标准里就包含有这几个属性,或者说在 IDE 里能够智能提示出的属性,这些就叫做固有属性。处理这些属性时,建议使用 prop 方法。
<a href="#" id="link1" action="delete" rel="nofollow">删除</a>这个例子里 <a> 元素的 DOM 属性有: href、id 和 action,很明显,前两个是固有属性,而后面一个 action 属性是我们自己自定义上去的,<a> 元素本身是没有这个属性的。这种就是自定义的 DOM 属性。处理这些属性时,建议使用 attr 方法。
prop()函数的结果:
1.如果有相应的属性,返回指定属性值。
2.如果没有相应的属性,返回值是空字符串。
attr()函数的结果:
1.如果有相应的属性,返回指定属性值。
2.如果没有相应的属性,返回值是 undefined。
对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
对于HTML元素我们自己自定义的DOM属性,在处理时,使用 attr 方法。
具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop()
添加元素
- append() - 在被选元素的结尾插入内容
- prepend() - 在被选元素的开头插入内容
- after() - 在被选元素之后插入内容
- before() - 在被选元素之前插入内容
删除元素
- remove() - 删除被选元素(及其子元素)
- empty() - 从被选元素中删除子元素
操作CSS
- addClass() - 向被选元素添加一个或多个类
- removeClass() - 从被选元素删除一个或多个类
- toggleClass() - 对被选元素进行添加/删除类的切换操作
- css() - 设置或返回样式属性
jQuery 尺寸方法
jQuery 提供多个处理尺寸的重要方法:
- width()
- height()
- innerWidth()
- innerHeight()
- outerWidth()
- outerHeight()
