jQuery笔记

简介

jQuery还是不得不学,毕竟dom操作随时可能进行,有jQuery会方便很多,它和当前热门的MVVM框架(Vue之类的)并不会冲突,只是后者不推崇直接的DOM操作。

基本使用

安装

可以用CDN,也可以本地文件导入,还可以npm install

操作符

, 这 个 操 作 符 可 以 根 据 标 签 , i d , 类 名 选 中 任 意 元 素 , 并 对 其 进 行 操 作 ( 冲 突 时 可 以 用 n o C o n f l i c t 释 放 ,这个操作符可以根据标签,id,类名选中任意元素,并对其进行操作(冲突时可以用noConflict释放 idnoConflict符号,改用jQuery充当$,或者用自定义的符号):

$(document).ready(function(){
  $("button").click(function(){
    $("p").hide();
  });
});

$(function(){
    //......
})

其中,入口为 document的一个ready函数,可以简写,也就是只留一个$符号后面直接跟着函数。

与原生js的onload的相似,不同的是onload必须所有资源加载完才会执行,而jquery会dom解析完就执行。

!!而且,jquery入口可以多个,原生不行。

操作CSS
$(function(){
    $("button").css({
        width: "100px",
        height: "100px"
    })
    $("button")[0].style.width = "150px";
    $("button").css("width","100px").css("height","100px");
})
//不设置值相当于get值

注意,css方法不能操作行内样式,会报错,

但是可以调用addClass,removeClass方法,toggleClass方法

还可以获取元素的位置,position,offset等方法,滚动条scrollTop等

可操作的对象

入口函数,选择器,字符串片段(可以用来创建dom元素),直接获取dom元素

注意,传给$的dom会被包装。虽然效果差不多,但是本质是不一样的

jQuery对象与方法

jquery会把标签包装成dom树一样的结构,本质是一个伪数组。

方法:each还可以遍历伪数组,map,trim去空格,isArray判断,holdReady方法可以暂停入口的执行,eq找到第x个符合的,siblings获取兄弟(排他),html方法操作内部内容,等等。。。基本所有DOM操作都有对应的jQuery的方法

attr,修改获取属性节点,removeAttr可以删除节点属性,prop和前者相似,但是是操作dom对象的,前者是操作属性节点的,因此后者能够直接反映,对于有true,false之类的推荐用prop

内部插入:append,prepend(前面)方法,appendTo,prependTo

外部插入:after,before,insertAfter,insertAfter

删除:remove,empty,detach,复制:clone

等等等等,简易用时查文档

jQuery选择器

除开和CSS选择器类似的选择器外,还多了很多操作,比如

:empty表示空元素,:parent() 表示与空相反的

:contains(“text”),找包含text文本的,:has(“span”)表示包含子元素span的,not表示不包含xxx的

事件绑定(委托)

所有dom事件基本均有对应的jquery事件,如click,mouseenter等,是addEventListener的简单写法,直接接在元素后面就视为绑定,或者用on方法(只有on方法才能绑定自定义事件,才有事件命名空间)。

jquery有专门的代码实现委托,delegate,可以把别的标签触发转移给父元素,主要针对动态绑定,其实就是js事件委托的升级版,它会自动判断事件来源,比如规定只委托span下li的事件,而不会处理其他事件,就不用我们用原生js的target了。

trigger可以主动触发绑定的事件:xxx.trigger(“click”),注意a标签不能直接触发跳转

解绑通过off解绑制定类型的事件

动画

jquery有着特定的动画事件,包括隐藏,显示,可以加入回调函数等,还有淡入淡出,展开收起等,都是display的一种动画效果

stop方法可以停止动画,清掉队列

还有一个animate方法可以操作动画,和css3相似,有hidden,toggle等参数

AJAX

jquery封装了load、get、post方法,非常简便:

   	$("button").click(function(){
		$("#div1").load(url);
	});
   
   $.get("demo_test.html",function(data,status){
        //dosomething
    });
    
    $.post(url,{
		name:"xxxx",
		data2:"aaaa"
	},function(data,status){
		//dosomething
	});
    
    $.ajax({  
         type:'post',  
         url:'',  
         data:{},  
         cache:false,  
         dataType:'json',  
         success:function(data){  
          },  
          error:function(){}  
    }); 

总结

  1. $符号的各种使用
  2. jQuery提供的各种提高开发效率的方法(如事件委托)
  3. ajax的使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值