1、alert($('li').html);//当一组元素d时候,取值是一组中的第一个
$('li').html('hello');//当一组元素的时候,赋值是一组中的所有元素
2、 width() :width
innerWidth() :width+padding
outerWidth():width+padding+border
outerWidth(true):width+padding+border+margin
3、on():可以用json形式来写,给一个对象定义多个事件
$('div').on({
'click':function(){},
'mouseover':function(){}
});
on():可以使两个事件一块连着写,但是实现的效果是一样的
$('div').on('click mouseover',function(){
});
4、off():
$('div').on('click mouseover',function(){
$('div').off();//执行一次事件后,会把两个事件都关掉。
$('div').off('click');//只会把click事件关掉。
});
one():与on()的用法一样,只是只执行一次就不再执行了。
5、$(window).scrollTop();
6、$(function(){});相当于 window.onload=function(){};
7、$('div')表示选择div元素
8、$('<div>')表示创建一个div元素
9、JQ中 ev.pageX(相对于文档的)
js中 ev.clientX(相对于可视区的) ---可视区+滚动条的距离=文档
10、JQ中 ev.which:可以记录键盘键值,也可以记录鼠标的键值,左击键,右击键,鼠标滚轮等
js中 ev.keycode:只是键盘键值
11、preventDefault():阻止默认事件
stopPropagation():阻止冒泡事件
JQ中的 return false; 既阻止默认事件又阻止冒泡事件
12、$('#div1').offset().left();//获取该对象到屏幕的左距离
div1.offsetleft获取的值取决于当前该对象的父级是否为定位,如果没有定位,则获取的是到屏幕的距离,如果父级定位,则获取的是到父级的左距离
13、$('#div1').position().left();//相当于把该元素定位,获取的值取决于当前该对象的父级是否为定位,如果没有定位,则获取的是到屏幕的距离,如果父级定位,则获取的是到父级的左距离。----注意,该对象的margin值不算在内,也就是说整个该元素(包括margin,padding,)的总体,边界距离父级的左距离。
14、parent:获取父级
offsetparent:获取有定位的父级
15、$('input').val():获取value的值
$('input').val(111):给该元素的value赋值
16、$('li').size();获取li标签的个数与length作用一样
17、$('li').each(function(i,elem){//一参:下标 二参:每个元素
});
18、hover():特点,移入移出可以一起写
$('#div1').hover(function () {
$(this).css('background','blue');//鼠标移入事件
},function () {
$(this).css('background','red');//鼠标移出事件
});
19、hide():可以用时间来控制隐藏,还是渐变动画效果
$('#div2').hide(1000);
20、fadeIn()与fadeOut();
$('#div2').fadeIn(1000);淡入
$('#div2').fadeIn(1000);淡出
21、slideDown()与slideUp()
$('#div2').slideDown();//向下展开动画
$('#div2').slideUp();//向上卷起动画
22、fadeTo()://作用可以把元素的不透明度以渐进的方式调整到指定值
$('#div2').fadeTo(1000,0.1);//第一个参数为时间,第二个参数为透明度
23、get();方法就是把JQ转成原生js,get()口号中没有下标表示该元素的整体,
$('#div1').get(0).html();//即使是id也需要下标
$('li').get().length;//先转换为li标签集合,再算集合长度
$('li').length;//jq中本身有lengh函数
24、offsetWidth:获取不到隐藏元素的值
outerWidth():不管显示还是隐藏,都可以获取到元素的值
25、$('div').html():获取的是所有div元素中的第一个而且获取的内容为:只要在第一个div标签内写的东西都会获取到,比如内嵌的标签,但是赋值的话,是给所有div元素赋值 。
26、 $('div').text():会把所有div中的内容获取到,不包含嵌套标签本身 ,标签的内容也会获取到
27、$('div').remove();会把目前div中的所有都删除,包括div的各种事件操作行为,即使在删除之后又添加div,但是对于之前对div设置的事件操作行为都不起作用了
28、$('div').detach(); 跟remove方法一样,只不过是会保留删除这个元素的操作行为
29、$(function(){});//等DOM加载完就可以执行了,比原生js使用的window.onload=function(){}要加载的快,性能好
$(document).ready(function(){});同$(function(){});一样
30、parents():获取当前元素的所有祖先节点,参数就是筛选功能
31、closest():获取最近的指定的祖先节点(包括当前元素自身),必须要写筛选的参数
32、siblings():获取当前元素的所有兄弟节点,参数就是筛选功能,不包括自身
33、nextAll():获取当前元素下面的所有节点,不包括自身
34、prevAll():获取当前元素上面的所有节点,不包括自身
35、nextUntil():如果不写参数,和nextAll()一样,加参数的话,就是到参数位置截至,不包括参数位置
36、prevUntil():同上,相反
37、appendTo():与截切粘贴的功能差不多,把该节点转移到另一个节点下
38、clone():与复制粘贴差不多,把该元素克隆一份,放到另一个节点下面。可以接收一个参数true,作用可以复制之前的操作行为。.clone(true);
39、wrap():在该元素的外面包装一个标签
$('span').wrap('<div>');//在span标签外套一个div标签,即<div><span><span><div>
40、wrapAll():整体包装。
$('span').wrap('<div>');//所有的span整体加一个div---存在的一个问题,就是在选择的所有span元素中间夹着的其他标签会被移到它们下面,改变原来的布局
41、wrapInner():在wrap内部包装
42、unwrap():删除包装(删除父级,不包括body)
43、add();使元素任意组合
var elem=$('div');
var elem2=elem.add('span');
elem2.css('background','yellow');//会把div标签和span标签都加背景颜色
44、slice():截取数组集合范围
45、serialize():将集合的value值串联为字符串
46、serializeArray():将集合的value值串联为数组,json格式的数组
47、animate():
第一个参数是运动的值和属性,
第二个参数是时间(运动的快慢),
第三个参数为运动形式(默认两种:swing(慢快慢),linear())
第四个参数为回调函数
$('#div1').click(function () {
$(this).animate({300},2000,'linear',function () {
$(this).animate({height:300,2000});
});
// $(this).animate({300},2000).animate({height:300},2000);//两种方法执行的效果一样
});
48、stop():默认只会阻止当前运动,如果stop(true),加一个参数true,则会不仅会阻止当前运动,还会阻止后续操作。如果加两个参数,stop(true,true);则会立即停止当前运动,并到达这个运动的指定目标位置,而不是后续所有运动的目标点
49、finish():会立即停止到所有指定目标点
50、delegate():事件委托,添加在父节点上,可以省去循环,提高性能
$('ul').delegate('li','click',function(){
this.style.background='red';
});
51、undelegate():阻止事件委托
52、trigger():主动触发
$('#div1').on('show',function () {
alert(123);
});
$('#div1').trigger('show');//主动触发show函数
53、ev.data事件的传的数据
ev.target:事件的内容
ev.type:事件类型
54、$().css() $().html $().val():只能给JQ对象用
$.XXX() $.ZZZ()等类型的不仅可以给JQ用,也可以给JS用:叫做工具方法
55、$.type();可以判断更多的类型,可以识别出数组,null,正则等而不像js中typeof 这些都会返回object
56、$.trim():可以去掉前后空格
57、$.inArray():类似于indexof
58、$proxy():改变this指向的。
function show(n1,n2){
alert(this);
}
$.proxy(show,document,3,4)();//第二个参数是要改变的指向,再后面的参数就是函数的传参了。在后面的括号也可以传参,但是里面传参的好处是调用事件触发后才执行,在后面括号里传参是直接就执行了
59、$.noConflict():防止冲突的,相当于引用功能,多一个名字。var a=$.noConflict();//a就相当于JQ中$
60、$.pareseJSON():将字符串转化为json类型
61、$.makeArray():可以将类数组转化为数组,像得到的li标签集合
62、$.extend():扩展工具方法下的插件形式 $.XXX() $.YYY()
$.fn.extend():扩展到JQ对象下的插件形式 $.().XXX() $.().YYY()
例1:添加去字符串左空格的工具方法,和去右空格的工具方法,可以$.leftTrim();调用
$.extend({
leftTrim:function (str) {
return str.replace(/^s+/,'');
},
rightTrim:function (str) {
return str.replace(/s+$/,'');
}
});
例2:添加拖拽方法 可以用$('#div').drag();调用
$.fn.extend({
drag:function () {
var disX=0;
var disY=0;
var This=this;
this.mousedown(function (ev) {
disX=ev.pageX-$(this).offset().left;
disY=ev.pageY-$(this).offset().top;
$(document).mousemove(function (ev) {
This.css('left',ev.pageX-disX);
This.css('top',ev.pageY-disY);
});
$(document).mouseup(function () {
$(this).off();
});
return false;
});
}
});