一、基本概念
在学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()