jQuery基础知识讲解

一:了解jQuery

  • jQuery是什么?

             它是一个JS函数库,封装简化了DOM操作(CRUD)/Ajax

  • 为什么用它?

             1、强大选择器:方便快速查找DOM元素

             2、隐式遍历(迭代):一次操作多个元素

             3、读写合一

             4、链式调用

             5、解决浏览器兼容性

             6、动画效果

             7、样式操作、DOM操作(CUD)

             8、事件处理

  • 如何使用?

            1、引入jQuery库:本地引入与远程引入/测试版本和正式版本(压缩版)

            2、使用jQuery:

                 使用jQuery函数:$/jQuery

                 使用jQuery对象:$() /  jQuery()

二:jQuery的两把利器

  • jQuery核心函数

           通过jQuery.js文件可以发现,jQuery向外暴露的就是jQuery/$函数,可以直接调用

           jQuery当成一般函数使用:$(param)

                 1、param是function时:相当于window.οnlοad=function(){}==>$(function(){}),表示文档加载完成的监听

                 2、param是选择器字符串:查找所有匹配的DOM元素,返回包含所有DOM元素的jQuery对象

                      eg:$(‘selector’).find(':eq(index)')

                 3、param是DOM元素:将DOM元素包装成jQuery对象并返回$(this)

                      eg:$(document.body).css('top',0)

                 4、param是标签字符串:创建标签DOM元素对象并包装为jQuery对象

                      eg:$('<p>我是p</p>').appendTo('body')

           jQuery当成对象使用时:$.xxx

                 $.each():遍历

                 $.trim():删除左右空格

                 $.extend({}):创建jQuery函数对象工具方法

                 $.fn.extend({}):创建jQuery对象方法

                 。。。。。。

  • jQuery核心对象

               *  jQuery对象它是包含所有匹配的n个DOM元素的伪数组对象

               *  执行$()返回的就是jQuery对象

               *  基本行为:

                         伪数组大小:length / size()

                         伪数组下标:$(selector)[index]得到指定下标的DOM元素

                         遍历伪数组:$().each(function(key,value){})

                         获取当前元素下标:$(selector).index()得到当前dom元素所在的下标

扩展:什么是伪数组?

伪数组它也是一个Object对象

它里面只有length属性、下标、遍历等方法或属性,但是没有数组中一些特别的方法,比如:

slice(),splice(),push(),pop(),concat()等方法

 

三:选择器

  • 基本选择器
  • 层次选择器
  • 过滤选择器
  • 表单选择器

四:属性及CSS样式

属性:attr(name[,value])、prop(name[,value])、removeAttr(name)、removeProp(name)、val()。。。

扩展:attr()和prop()两者之间的区别

          1、首先需要知道的是什么是atrribute和property

                attribute:HTML标签的自定义和预定义属性统称为attribute

                property:它是JS原生对象的属性

          2、什么时候使用?

               属性值为布尔值的时候使用prop()

               属性值为非布尔值的时候使用attr()

CSS:css(name[,value])、addClass()、removeClass、toggleClass()。。。

五:文档处理

appendTo()、before()、remove()、empty()、clone()、after()、replaceWith()。。。

六:事件处理

  • 绑定事件

              绑定事件有两种方式:

                     1、使用$(selector).on(eventNameStr,function(){})的方式

                     2、使用$(selector).eventName(function(){})

              事件方法:

                     click(fun(){}):鼠标点击

                     mousemove(fun(){}):鼠标滑动

                     mouseenter(fun(){})/ mouselever(fun(){}):鼠标滑入 / 鼠标滑出

                     mouseover(fun(){})/ mouseout(fun(){}):鼠标滑入 / 鼠标滑出

                     hover(fun(){},fun(){}):鼠标滑入 / 鼠标滑出

                     foucs(fun(){})/ blur(fun(){}):获取焦点 / 失去焦点 

                     keydown(fun(){})/ keypress(fun(){})/ keyup(fun(){}):键盘按下 键盘按着 键盘释放

                     resize(fun(){}):监听文档窗口改变大小时触发,$(window).resize(fun(){})

                     scroll(fun(){}):监听滚动条发生变化时触发

                     select(fun(){}):监听input元素被选中时触发

                    submit(fun(){}):提交表单时触发

                    ready(fun(){}):页面载入时触发,$(document).ready(fun(){})===$(fun(){})

扩展:

          1、两者绑定监听事件的区别:

                on()虽然编码麻烦,但是通用,比如,load事件就无法直接绑定,而需要$(selector).on('load',fun),而且on方法可以同时绑定多个事件,多个事件则需要空格隔开就行了

                eventName()编码简单,但是不通用

          2、mouseenter/mouselever和mouseover/mouseout两者之间的区别

                mouseenter/mouselever在移入子元素时,不会触发子元素的事件

                mouseover/mouseout在移入子元素时,会触发子元素的事件

  • 解绑事件

         $(selector).off(fun(){})

  • 事件委托

         1、什么是事件委托?

              事件委托是将多个子元素的监听事件委托给父辈元素处理,监听回调是加在了父辈元素上,当触发任何一个子元素时,事件会冒泡到父辈元素,父辈元素不会直接处理事件,而是根据event.target(目标事件)得到发生事件的子元素,通过这个子元素调试事件的回调函数

         2、事件委托关系:

              子元素:委托方

              父辈元素:被委托方

       3、如何使用事件委托

            绑定事件委托:$(parentSelector).delegate(childrenSelector,eventname,callback)

            取消事件委托:$(parentSelector).undelegate(eventname)

      4、事件委托的好处:

           让新增的子元素也有监听事件

           减少绑定监听事件的个数,从绑定n个子元素 ===> 绑定一个父辈监听

七:动画效果

淡入淡出:

               fadeIn()/ fadeOut()/ fadeToggle()

滑动:

               slideDown()/ slideUp()/ slideToggle()

显示隐藏:

               show()/ hide()/ toggle()

自定义动画:

               animate({})

停止动画:

                stop()

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值