jQuery 知识点归纳

jQuery是一个快速、简介的JavaScript库,宗旨是“write less,do more”。
官网:https://jquery.com
版本:
1x:兼容IE6、7、8,不再更新
2x:不兼容IE6、7、8,不再更新
3x:不兼容IE6、7、8,当前官网主要更新版本

1、入口函数

$(function(){ }); // $(document).ready(function(){ });
= js:DOMContentLoaded //不必等待外部文件加载(js,css,图片…)

2、jQuery和DOM对象转换

2.1DOM转jQuery
<video src=‘xxx.mp4’ >
1)$(‘video’)
2)var myVideo = document.querySelector(‘video’);
    $(myVideo);

2.2 jQuery转DOM
1)$(‘div’)[index]
2)$(‘div’).get(index)

3、选择器

  • ID选择器:$("#id")
  • 类选择器:$(".class")
  • 标签选择器:$(“div”)
  • 全选:$("*")
  • 并集选择器:$(“div,ul,li”)
  • 交集选择器:$(“li.current”)
  • 子代选择器:$(“ul>li”)
  • 后代选择器:$(“ul li”)

4、隐式迭代 ※

遍历内部DOM元素的过程,也称内部遍历。伪数组形式存储。
eg:$(“ul li”).css(“color”,“red”);

5、筛选选择器

  • $(“li:first”); //获取第一个li
  • $(“li:last”); //获取最后一个li
  • $(“li:eq(2)”); //获取到的li元素中,索引号为2的元素,index从0开始
  • $(“li:odd”); //索引号为奇数
  • $(“li:even”); //索引号为偶数

6、筛选方法 ※

  • $(“li”).parent(); //找父级
  • $(“ul”).children(“li”); //亲儿子 ul>li
  • $(“ul”).find(“li”); // 所有孩子,包括儿子和孙子,后代选择器
  • $(".first").sibling(“li”); //兄弟元素
  • $(".first").nextAll(); //兄弟元素
  • $(".last").preAll(); //兄弟元素
  • $(“div”).hasClass(“pretected”); //当前元素是否含有某个特定的类,有则为true
  • $(“li”).eq(2); //等价于 $(“li:eq(2)”);

7、排他思想

自己变,兄弟不变。
eg$(“button”).click(function(){
$(this).css(“background”,“pink”);
$(this).siblings(“button”).css(“background”,"");
}):
⇒$(this).css(“color”,“red”).siblings().css(“color”,""); //链式编程

8、操作CSS

8.1获取
$(“this”).css(“color”);

8.2设置

  • $(“this”).css(“color”,“red”);
  • $(“this”).css({“color”,“red”,“font-size”:“20px”});
  • $(“div”).addClass(“current”); //.current{} ,不覆盖,只追加
  • $(“div”).removeClass(“current”);
  • $(“div”).toggleClass(“current”); //切换类

9、操作属性

9.1元素固有属性 prop()
eg:
$(“a”).prop(“href”); //获取
$(“a”).prop(“属性”,“属性值”); //设置

9.2元素自定义属性 attr()
eg:
$(“div”).attr(“index”,4);

9.3元素自定义属性 data()
指定元素上存取数据,不修改DOM结构,页面刷新之后,数据被移除。
eg:
$(“span”).data("“uname”,“andy”);
<div data-index=“1”> ⇒ $(“div”).data(“index”)

10、操作节点

10.1创建
$("<li></li>")

10.2添加
1)内部添加
①element.append(“内容”); //放在最后,类似于appendChild
②element.prepend(“内容”); //放在最前

2)外部添加
①element.after(“内容”); //目标元素后面
②element.before(“内容”); //目标元素前面

10.3删除
1)element.remove(); //删除匹配的元素(本身)
2)element.empty(); //删除匹配的元素的子节点
3)element.html(); //删除匹配的元素的子节点

10.4遍历
语法1:
$(“div”).each(function(index,domEle){ xxx })
语法2:
$.each(object,function(index,domEle){ xxx }) //处理数据 ※

11、内容

<div> <span>内容</span></div>
11.1 html()
等同于innerHTML
$(“div”).html(); //获取内容 ⇒ <span>内容</span>
$(“div”).html(“123”); //设置内容 ⇒ <div>123</div>

11.2 text()
等同于innerText
$(“div”).text(); //获取文本 ⇒ 内容
$(“div”).text(“123”); //设置文本 ⇒ <div>123</div>

11.3 val()
等同于value
$(“input”).val(); //获取标签value
$(“input”).val(“123”); //设置标签value

12、效果

12.1显示隐藏
show()、hide()、toggle()

12.2滑动
slideDown()、slideUp()、slideToggle()

12.3淡入淡出
fadeIn()、fadeOut()、fadeToggle()、fadeTo()

12.4自定义动画
animate()

13、尺寸

  • width()、height() //只算width、height
  • innerWidth()、innerHeight(); //含padding
  • outerWidth()、outerHeight(); //含padding+border
  • outerWidth(true)、outerHeight(true); //含padding+border+margin

14、位置

14.1 offset
相对于文档的便宜坐标,与父级无关。
$(".son").offset().top
$(".son").offset().left

14.2 positon
相对于带有定位的父级偏移坐标,若无父级元素,则以文档为准。

14.3scrollTop()、scrollLeft()
被卷去的头部和左侧。

15、事件

15.1单事件注册
语法:element.事件(function(){ });
事件:mouseover、mouseout、blur、focus、change、keydown、keyup、reszie、scroll

15.2 on一个或多个时间绑定
1)on({ })
$(“div”).on({
omuseenter:function(){ },
click:function(){ }
});
※不同事件,相同函数,简写:$(“div”).on(“mouseenter mouseleave”,function(){ })

2)时间委托
原本在子元素身上的时间,添加到父级元素身上。
$(“ul”).on(“click”,“li”,function(){ }) //老方法:bind、live、delegate…

3)on可以给未来动态创建的元素绑定事件
传统做法:$(“ol li”).click(function(){ });
var li = $("<li>新li</li>");
$(“ol”).append(li);
该方法之后,动态追加的li不具备click事件。

$(“ol”).on(“click”,“li”,function(){ }); //on没有上诉问题 ※

15.3 off解绑事件
1) ( " d i v " ) . o f f ( ) ; / / 解 绑 所 有 事 件 2 ) ("div").off(); // 解绑所有事件 2) ("div").off();//2(“div”).off(“click”); // 解绑指定事件
3)$(“div”).off(“click”,“li”);; // 解绑事件委托

15.4 one() 只触发一次的事件
$(“p”).one(“click”,function(){ });

15.5 trigger() 自动触发
1)$(“div”).click(); //自动调用(加载时)
2)$(“div”).trigger(“click”);
3)$(“div”).triggerHandler(“click”); //不会触发默认行为,如获取焦点时的光标闪烁

15.5 event() 事件对象
function(event){}
用处:
1)阻止默认行为,event.preventDefault() 或 return false;
2)阻止冒泡:event.stopPropagation()

16、对象拷贝 $.extend()

语法:$.extend([deep],targer,object1,[object])
1)deep:true为深拷贝,默认为false,浅拷贝对复杂对象只拷贝地址,若对象被修改,会有影响 ※
2)target:目标
3)objedt1:待拷贝对象

17、jQuery多库共存

1)把 统 一 改 为 j Q u e r y e g : j Q u e r y ( " d i v " ) ; 2 ) 统一改为jQuery eg:jQuery("div"); 2) jQueryeg:jQuery("div");2.noConflict()
var xx = $.noConfict(); ⇒ xx(“div”);

18、jQuery插件

前提:先引入jQuery.js文件。
1)jQuery之家: http://www.htmleaf.com/ (推荐)
2)jQuery插件库:http://www.jq22.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值