前端-JQuery

前端-JQuery

在我们学习过HTML,CSS,JavaScript之后,就可以完成网页的制作了,而JQuery只是一种轻量级的JavaScript库,可以让我们更方便的写JavaScript代码,用以完成我们的需求.

jQuery的优势在于:

  • 文件非常小,不会影响页面的加载速度
  • 选择器使用非常方便,比直接调用JavaScript要更方便
  • 支持事务,样式和动画,可以把界面写的更加生动.
  • 跨浏览器兼容,比JavaScript兼容的浏览器更多更广
  • 插件的扩展,jQuery的第三方插件非常多,调用和修改都十分方便.

我们简略介绍以下jQuery的各方面内容,包括选择器,筛选器,样式和文本操作,属性操作,文档处理,事件等.

jQuery的对象

jQuery的对象就是通过jquer包装DOM后产生的一个对象,是jQuery独有的,并且可以和JavaScript的对象互相转换.

我们在定义jQuery对象的时候,要在变量名前面加上$,包括后面在调用jQuery语句的时候,也可以直接用$来表示jQuery对象的操作,比如

var $a = jQuery对象

# jQuery的基本语法为:
$(selector).action()

另外,我们在定义jQuery之前一定要导入jQuery文件,可以用网络上的缓存文件,也可以用本地文件.

https://jquery.com/

选择器

#id选择器
$("#id")

#标签选择器
$("tagName")

#class选择器
$(".className")

#所有元素选择器
$("*")

#组合选择器
$("#id,.className,tagName")

#层级选择器
$("x   y") x的所有后代y
$("x > y") x的所有儿子y
$("x + y") x的所有紧挨着的y(毗邻)
$("x - y") x的所有兄弟y

#属性选择器
#属性选择器主要用的是中括号,里面写判断条件

[attribute]
[attribute=value]

筛选器

# 基本筛选器
:first	第一个标签
:last	最后一个标签
:eq()	索引等于括号内的那个元素
:even	匹配索引值为偶数的元素
:odd	匹配索引值为奇数的元素
:gt()	匹配所有大于括号内索引值的元素
:lt()	匹配所有小于括号内索引值的元素
:not(选择器)	移除所有满足not括号内条件的标签
:has(选择器)	选取所有满足has括号内条件的标签

# 表单筛选器
:text		明文
:password	密文
:file		文件名称
:redio		单选框
:checkbox	多选框
:submit		提交
:reset		重置
:button		按钮

# 表单对象的属性
:enabled
:disabled
:checked
:selected	放在select表单内部的标签属性里,会默认选择这个带selected的标签用以显示

# 筛选器方法
$("#id").next()		下一个元素
$("#id").prev()		上一个元素
$("#id").parent()	父辈元素,当前父辈,仅一个
$("#id").parent()	父辈的所有元素
$("#id").children()	所有的儿子元素们
$("#id").siblings()	所有的兄弟元素们
$("#id").find()		查找与括号内相匹配的元素
$("#id").filter()	筛选出符合filter括号内的元素,然后过滤掉

样式操作

# 通常对类来进行操作
addClass();		添加指定的类,括号内为类名
removeClass();	移除指定的CSS类名,括号内为类名
hasClass();		判断括号内样式是否存在,返回值为布尔值
toggleClass();	如果已经有该类名,会移除,如果没有,会添加

# 查看元素尺寸
height()
width()
innerHeight()
innerWidth()
outerHeight()
outerWidth()

位置操作

# 对元素的位置操作
offset()		括号内为空则获取元素在当前窗口的相对偏移,括号内不为空则设置元素位置
position()		获取匹配元素相对父元素的偏移		
scrollTop()		获取匹配元素相对滚动条的顶部的偏移(如果有滚动条的话)
scrollLeft()	获取匹配元素相对滚动条左侧的偏移(如果有滚动条的话)

文本操作

# 可以设置或者显示文件的html,text以及val
html()		括号为空则取得第一个匹配元素的html内容,括号不为空则设置所有匹配元素的html内容
text()		括号为空则取得所有匹配元素的内容,括号不为空则设置所有匹配元素的内容
val()		括号为空则取得第一个匹配元素的当前值,括号不为空则设置所有匹配元素的值

属性操作

# 主要用于查询或者修改ID和一些自定义属性
attr(attrName)				返回第一个匹配元素的属性值
attr(attrName,attrValue)	为所有匹配到的元素设置一个属性值
attr(k1:v1,k2:v2)			为所有匹配元素设置多个属性值
removeAttr()				从每一个匹配的元素中删除一个属性

# 用于查询修改checkbox和radio等
prop()			获取属性
removeProp()	移除属性

attr和prop的区别在于,attr通常指的是HTML标签属性,而prop是DOM的对象属性.
所以总结下来
	对于标签上能看到属性和自定义属性的标签,都用attr来操作.
    对于返回布尔值的的标签,比如checkbox,radio和option等,都用prop

文档处理

$(A).append(B)		把B追加到A内部的最后面

$(A).prepend(B)		把B追加到A内部的最前面

$(A).after(B)		把B添加到元素A外部的后面

$(A).before(B)		把B添加到元素A外部的前面

$(A).remove()		从DOM中删除所有匹配到的元素

$(A).empty()		删除匹配的元素的所有子节点,不删除该元素

replaceWith()		替换单个元素

replaceAll()		替换所有元素

事件

jQuery中的事件和JavaScript中的事件十分相似,可以说除了写法基本是一样的.

常用事件

click(function(){})		click替代了JavaScript中的onclick和ondblclick等鼠标操作
hover(function(){})		鼠标移动到该定义的元素上就会触发这个函数,移出去也会触发
blur(function(){})		相当于onblur失去焦点
focus(function(){})		相当于onfocus获得焦点
change(function(){})	改变当前事件时候会触发函数
keydown(function(){})	键盘按下的时候会触发
keyup(function(){})		键盘抬起的时候会触发

事件绑定

.on(events[selector],function(){})

events:		事件
selector:	选择器
function:	时间处理的函数

移除事件

.off(events[selector],function(){})

events:		事件
selector:	选择器(可选)
function:	时间处理的函数
原文地址:https://www.cnblogs.com/Xu-PR/p/11687002.html