JQ常用方法汇总
特点
- jquery中不用考虑兼容
- jquery有强大的选择器机制
- 优质的隐式迭代
- 无所不能的链式编程
核心
元素调用 |
作用 |
.length |
元素集合的长度 |
.eadh() |
遍历jq的伪数组 |
.index() |
获取当前元素的下标,传了参数就是设置下标 |
.data() |
在元素上存放或读取数据 |
.get([index]) |
取得其中一个匹配的元素,返回的是DOM对象 |
选择器
语法 |
选择元素 |
$("#id名") |
id选择器 |
$(".类名") |
类名选择器 |
$("标签名") |
标签选择器 |
$("[name='username']") |
属性选择器 |
$("li:first-child") |
第一个标签 |
$("li:last-child") |
最后一个标签 |
$("li:nth-child(数字)") |
第几个标签,从1开始计数 |
$("li:empty") |
空标签 |
筛选器
语法 |
筛选出需要的元素 |
$("li:first") |
第一个 |
$("li:last") |
最后一个 |
$("li:event") |
索引为偶数 |
$("li:odd") |
索引为奇数 |
$("li:eq(数字)") |
下标是指定数字 |
$("li:lt(数字)") |
下标小于指定数字 |
$("li:gt(数字)") |
下标大于指定数字 |
表单元素选择器
语法 |
匹配表单元素 |
$(":input") |
所有表单元素 |
$(":text") |
单行文本框 |
$(":password") |
单行密码框 |
$(":radio") |
单选按钮 |
$(":checkbox") |
多选按钮 |
$(":submit") |
提交按钮 |
$(":reset") |
重置按钮 |
$(":image") |
图片按钮 |
$(":button") |
普通按钮 |
$(":file") |
文件上传按钮 |
$(":hidden") |
隐藏域(匹配页面中所有dispaly:none 的标签) |
表单对象选择器
语法 |
选择表单对象元素 |
$("input:enabled") |
所有可用表单 |
$("input:disbaled") |
首页禁用表单 |
$("input:checked") |
所有选中的表单 |
$("option:selected") |
被选中的下拉框 |
筛选器方法
元素调用 |
使用方法来筛选元素 |
.first() |
元素集合中的第一个 |
.last() |
元素集合中最后一个 |
.next() |
下一个兄弟元素 |
.prev() |
上一个兄弟元素 |
.nextAll() |
后面所有的兄弟元素 |
.prevAll() |
前面所有的兄弟元素 |
.parent() |
父元素 |
.parents() |
所有祖宗元素 |
.eq(数字) |
指定下标的元素 |
.find(选择器) |
后代中指定的元素 |
.siblings() |
所有的兄弟元素 |
.children() |
所有的子元素 |
.end() |
回到链式操作的上一个对象 |
事件方法
$(function(){})
:页面资源全部加载完毕才执行,和原生的onload事件一样
元素调用 |
参数 |
作用 |
.on() |
(事件类型,[委托元素],[传入数据],处理函数) |
在选择元素上绑定一个或多个事件的事件处理函数 |
.off() |
(事件类型,[委托元素],处理函数) |
解除on绑定的事件 |
.one() |
(事件类型,处理函数) |
只能触发一次的事件 |
.trigger() |
(事件类型,处理函数) |
用于手动触发一次某个事件 |
.click() |
([传入数据],处理函数) |
鼠标点击触发 |
.mouseover() |
([传入数据],处理函数) |
鼠标移入,鼠标穿过任何子元素都会触发 |
.mouseout() |
([传入数据],处理函数) |
鼠标移出,鼠标离开任何子元素都会触发 |
.hover() |
(移入执行函数,移出执行函数) |
鼠标移入移出 |
.mouseenter() |
([传入数据],处理函数) |
鼠标穿过元素时触发,穿过子元素不会触发 |
.mouseleave() |
([传入数据],处理函数) |
鼠标离开元素时触发,离开子元素不会触发 |
.resize() |
([传入数据],处理函数) |
当调整浏览器窗口的大小触发 |
.scroll() |
([传入数据],处理函数) |
滚动指定元素触发 |
.ready() |
(处理函数) |
$(document)调用,页面标签加载完毕就执行 |
属性、样式和类名操作
元素调用 |
参数 |
作用 |
.prop() |
(属性名,属性值):设置 (属性名):获取 |
设置或获取属性名 |
.attr() |
(属性名,属性值):设置 (属性名):获取 |
设置或获取自定义属性 |
.removeProp() |
(属性名) |
删除属性 |
.removeAttr() |
(属性名) |
删除自定义属性 |
.css() |
(键,值):设置一个 ({键:值,键:值}):设置多个 (键):获取 |
设置或获取样式 |
.addClass() |
(类名) |
添加样式 |
.removeClass() |
(类名) |
删除样式 |
.toggleClass() |
(类名) |
有则删除样式无则添加样式 |
.hasClass() |
(类名) |
判断元素是否有这个类名,有是true,无是false |
元素内容操作
元素调用 |
作用 |
.text() |
获取文本内容,传参就是设置文本内容 |
.html() |
获取标签内容,传参就是设置标签内容 |
.val() |
获取表单元素的值,传参就是设置表单的值 |
元素节点操作
$("标签和内容")
:创建一个标签并给里面放内容
元素调用 |
语法 |
作用 |
.append() |
父元素.append(子元素) |
给父元素追加子元素 |
.prepend() |
父元素.prepend(子元素) |
给父元素最前面添加子元素 |
.appendTo() |
子元素.appendTo(父元素) |
将子元素追加到父元素中 |
.prependTo() |
子元素.prependTo(父元素) |
将子元素添加到父元素最前面 |
.after() |
元素.after(新元素) |
添加下一个兄弟元素 |
.before() |
元素.before(新元素) |
添加上一个兄弟元素 |
.insertBefore() |
新元素.insertBefore(元素) |
将元素添加到某个元素前面 |
.insertAfter() |
新元素.insertAfter(元素) |
将元素添加到某个元素后面 |
.replaceWith() |
元素.replaceWith(新元素) |
使用新元素替换某个元素 |
.replaceAll() |
新元素.replaceAll(元素) |
用新元素替换掉某个元素 |
.empty() |
元素.empty() |
删除元素内部所有标签和内容,让自己变成一个空标签 |
.remove() |
元素.remove() |
删除自己和自己内部所有内容 |
.clone() |
元素.clone([参数1],[参数2]) |
复制元素,参数1是复制自身事件(true/false),参数2是复制子元素的事件(true/false) |
元素尺寸
元素调用 |
作用 |
.height() |
获取或设置元素内容区域高度(传参是设置) |
.width() |
获取或设置元素内容区域宽度(传参是设置) |
.innerHeight() |
获取元素内部的高度,包含padding,但不包含border |
.innerWidth() |
获取元素内部的宽度,包含padding,但不包含border |
.outHeight([true]) |
获取元素占据的高度,包含padding和border(不传参是不包含margin,传参是包含margin) |
.outWidth([true]) |
获取元素占据的宽度,包含padding和border(不传参是不包含margin,传参是包含margin) |
元素位置
元素调用 |
参数 |
作用 |
.offset() |
[{left:值,top:值}] |
获取或设置元素在页面中的位置 |
.position() |
无 |
元素相对父元素的位置 |
.scrollTop() |
[数值] |
获取或设置元素滚动过的高度 |
.scrollLeft() |
[数值] |
获取或设置元素滚动过的宽度 |
动画
元素调用 |
参数 |
作用 |
.show() |
[毫秒数],[效果],[回调] |
从隐藏状态变为显示状态 |
.hide() |
[毫秒数],[效果],[回调] |
从显示状态切换到隐藏状态 |
.toggle() |
[毫秒数],[效果],[回调] |
在隐藏和显示状态切换 |
.slideDown() |
[毫秒数],[效果],[回调] |
向下拉动显示 |
.slideUp() |
[毫秒数],[效果],[回调] |
向上拉动隐藏 |
.slideToggle() |
[毫秒数],[效果],[回调] |
切换上下拉动显示隐藏 |
.fadeIn() |
[毫秒数],[效果],[回调] |
从透明度0变为1的显示 |
.fadeOut() |
[毫秒数],[效果],[回调] |
从透明度1变为0的隐藏 |
.fadeToggle() |
[毫秒数],[效果],[回调] |
切换透明度显示和隐藏 |
.fadeTo() |
[毫秒数],透明度,[效果],[回调函数] |
让元素切换到指定的透明度 |
.animate() |
{属性集合},[毫秒数],[效果],[回调] |
自定义动画,可以实现动画队列 |
.stop() |
[bool],[bool] |
将动画停止在当前状态,也可以停止在其他状态 |
.finish() |
[队列名称] |
将动画停止在结束状态 |
jQuery高级
jquery发送ajax请求
get请求语法
$.get('请求地址', 参数, 成功的回调函数, 'json');
参数1:请求地址
参数2:请求携带的数据,可以是拼接的字符串形式,也可以是对象形式
参数3:成功的回调函数,参数为响应回来的的数据
参数4:希望返回的数据格式
复制代码
post请求语法
$.post('请求地址', 参数, 成功的回调函数, 'json');
参数1:请求地址
参数2:请求携带的数据,可以是拼接的字符串形式,也可以是对象形式
参数3:成功的回调函数,参数为响应回来的的数据
参数4:希望返回的数据格式
复制代码
ajax请求语法
$.ajax({
url: 请求地址,
type: 请求方式,
data: {},
dataType: 'json',
async: true,
success () {},
error () {},
cache: true,
timeout: 1000,
context: div,
})
复制代码
jsonp请求语法
$.ajax({
url: 请求地址,
dataType: 'jsonp',
data: { name: 'Jack', age: 18 },
success (res) {
console.log(res)
},
jsonp: 'cb',
jsonpCallback: 'fn'
})
复制代码
全局ajax函数
全局ajax函数指的ajax的钩子函数。钩子函数指的是一件事情执行到某个阶段的时候自动调用的函数
$(window).ajaxStart(function () {
console.log('有一个请求开始了')
})
$(window).ajaxSend(function () {
console.log('有一个要发送出去了')
})
$(window).ajaxSuccess(function () {
console.log('有一个请求成功了')
})
$(window).ajaxError(function () {
console.log('有一个请求失败了')
})
$(window).ajaxComplete(function () {
console.log('有一个请求完成了')
})
$(window).ajaxStop(function () {
console.log('有一个请求结束了')
})
复制代码
jquery的标识符
jquery可以将$或jQuery的使用权交出,或换成其他的操作符
jQuery.noConflict();
jQuery.noConflict(true);
var 变量 = jQuery.noConflict(true);
复制代码
向jquery扩展自定义方法
jquery总共提供了两类方法,一类是元素集合调用,一类是自己调用
jQuery.fn.extend({
fn:function(){
console.log(123);
}
})
$("div").fn();
jQuery.extend({
fn:function(){
console.log(456);
}
});
$.fn();
复制代码