一、基本概念

在学jQuery之前,首先得了解JavaScript类库的概念:

javascript类库,简称为JS库,是指被封装好的Javascript函数,其中预定义了很多对象和函数,其特点是可以直接在程序中进行调用,并且兼容各大浏览器,目的就是为了简化javascript的开发。

jQuery其实就是一个JS文件,它能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。

二、jQuery的使用方法:

1.在HTML页面中引入jQuery文件

2.使用jQuery的选择器定位HTML页面元素

3.使用jQuery提供的API方法完成需求

三、jQuery对象与dom对象:

DOM对象是通过DOM获取的元素,jQuery对象是通过jQuery包装DOM后产生的对象。所以二者之间可以相互转化:

DOM对象转换为jQuery对象,$(DOM对象);

jQuery对象转换为DOM对象使用get(index)方法。

四、jQuery的根本-选择器

1.基本选择器

2.层级选择器

3.过滤选择器,细分为,基本过滤选择器,子元素过滤选择器,内容过滤选择器,可见性过滤选择器,属性过滤选择器,表单对象属性过滤选择器

4.表单选择器


五,jQuery中的dom操作:

 1.基本操作

html() - 类似于原生DOM的innerHTML属性     例如 $("#city").html()

val() - 类似于原生DOM的value属性    例如$("#user").val()

text() - 类似于原生DOM的textContent属性  例如$("#bj").text("长春")

attr() - 获取或设置指定元素的属性

    获取attr(attrName) - 类似于getAttribute()  例如 $("#bj").attr("name")

    设置 - attr(attrName,attrValue) - 类似于setAttribute()   例如  $("#bj").attr("name","changchun")

    removeAttr(attrName) - 类似于removeAttribute()    例如$("#bj").removeAttr("name")

2.样式操作

attr("class",className) - 设置

addClass(className) ,追加样式

$("#d1").removeClass()  ,删除样式注意:不传参时代表删除所有样式,传参时代表删除指定样式

toggleClass(className),切换样式,在没有样式与指定样式之间切换,如$("#d1").toggleClass("样式名")

hasClass(className),判断指定元素是否含有指定样式,如$("#d1").hasClass("样式名")

css() 操作样式,css(name,value)

3.遍历节点:

parent() - 获取指定节点的父节点
children() - 获取指定节点的所有子节点
next() - 获取指定节点的下一个兄弟节点
prev() - 获取指定节点的上一个兄弟节点
siblings() - 获取指定节点的所有兄弟节点
find(expr) - 在指定节点中查找指定内容

4.创建节点

元素节点 - $(HTML代码)
文本节点 - text()
属性节点 - attr()
jQuery - $(HTML代码)

5.删除节点

remove() - 删除自身及后代节点
empty() - (清空)删除后代节点,但保留自身节点

6.插入节点,分为内部插入和外部插入,


7.复制节点

clone(boolean),boolean参数 - 表示是否复制事件

8.替换节点

  repalceWith
  replaceAll 等同于颠倒了的repalceWith

六.事件

  1. ready() - 类似于window.onload的作用

有三种写法:$(document).ready(function(){});
              $().ready(function(){});
         

补充:ready与onload的区别:

ready具有简写方式,在一个HTML页面中允许出现多个,等HTML页面中所有DOM结构加载完毕后就可以执行;

onload没有简写方式,在一个HTML页面中只能出现一个,并且必须等待HTML页面中所有内容全部加载完毕后才能执行。

2.事件的绑定与解绑:

bind(type,data,fn) - 绑定事件

 type - 指定绑定的事件名称,如果绑定多个事件时,使用空格隔开;

 data - 可选项,作为event.data属性值传递给事件对象的额外数据对象;

 fn - 绑定事件的处理函数。

unbind() - 解绑事件
  type - 指定解绑的事件名称, 默认不传递任何内容时解绑所有事件,指定单个事件名称则 解绑单个事件,指定多个事件名称则解绑多个事件。


 绑定与解绑允许指定的事件有  blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error 等。

3.事件对象:

事件对象被封装在事件对应的处理函数的参数

ele.onclick = function(event){

 }

常用方法有:

 pageX/clientX/offsetX/x - 当前x轴
 pageY/clientY/offsetY/y - 当前y轴
 target - 当前绑定事件的源对象(元素)
 returnValue - 是否阻止事件默认行为,返回值是Boolean类型
 return false - 阻止页面的默认行为
 which/keyCode/charCode - 键盘对应值

4.事件冒泡:

下面代码说明什么是事件冒泡


阻止冒泡的方法:event.stopPropagation()