小叮当web前端九聊聊jquery

jQuery是什么?jQuery是一种新的JavaScript库,简称JQ。JavaScript是一种属于网络的脚本语言,广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果,简称JS。

而jQuery是用JavaScript写的,所以能用jQuery实现的功能用JavaScript都能实现,而用JavaScript实现的,JQuery有时却不能实现。

也就是说,jq就是用js事先封装好的语句包,使用时直接调用即可,也可理解为事先定义好的功能函数,随用随调即可。那么在哪里可以找到Jquery拿来就用呢?BootCDN欢迎您!

这个CDN又是什么呢?CDN的全称是ContentDeliveryNetwork,即内容分发网络。那么CDN为什么就可以加速呢?CDN通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,从而提高用户访问网站的响应速度。

1.jq的引用、传值及验证

我们拖动滚动条继续在bootcdn网站中浏览,找到JQ并点击。

jq页面

下面我们来找到封装了常用功能的jq

将链接复制到网页新标签页下即可实现在线访问。

我们也可将其保存到本地,这里以pycharm.3为例进行说明。我们在项目名处右键---新建---javascript,并命名为jq

选择js类型命名为jq

将网页访问中的内容,全选(ctrl+a)、复制(ctrl+c)、粘贴到jq中,并保存,这样jq就被保存到本地编辑器中,供我们使用了。

在jquery代码中为操作方便,我们常常用$符号来代替“jquery”已达到简洁的目的。

我们怎样验证在线引用是否成功呢?这次,我们点击jquery页面的“复制script标签”,直接粘贴到已建好的名为“test的html文件的”body中。

之后在body中继续新建script标签,写入jq代码,进行弹窗试验。

操作之后浏览器出现弹窗,信息为我们写入的1,证明jq引用成功。

当我们将jq引用的语句注释,则会出现“$isnotdefined的报错,这是jq新手常犯的错误,他们未引用就直接使用jq于是便会出现这种错误。

jq的在线引用我们说完了,那么本地引用怎么执行呢?我们仍在script标签中src=“jq文件名即可。

jq可以传字符串、选择器、尖括号标签的形式、函数、object,需要注意的是jq的API只对自己开放,jq不能用js的API,而js也不能使用jq的API.

我们在body中新建div标签令其id为box,内容为div字符;在script标签中定义变量oBox读取div标签内容,并修改其值为。

script标签下定义变量时需注意:(1)js定义变量时习惯在变量名前加字母o,例如varoBox=的”oBox的第1个“o;

(2)jq定义变量时习惯在变量名前加字符$,例如var$Box=的”$Box的“$;

相比较于js,我们会发现jq对元素的获取和修改都方便了许多。jq获取元素,只需加上”$“符号,括号里面写上”#+id名称“即可。对于修改元素值,更是只需变量名+”.“+”html()即可。

但需要注意的是,为了便于理解我们将oBox称为变量,但实际上,它是一个对象。我们可以用typeof来弹出它的类型,看到为object,这充分说明了oBox是对象。

接上步,我们使用$()来调用oBox,仍使用html()来修改元素内容为,看到值变为,这说明jq可以调用对象。

jq中的html()还可以识别标签,我们可以在其中加入em标签使内容变为斜体。

下面我们来验证jq识别字符串,新定义p标签,并用jq修改内容为“字符串”。(注意:当你有多个p标签时,此操作会将你所有p标签内容更改;而js对标签操作时则必须要加下标,一个个修改)

2.jq与js的相互转换

(1)js转换为jq十分方便,直接将js对象名放入“$()”的括号中即可。

(2)jq转换为js,有两种方法。一:通过给jq对象直接加下标。二:jq对象通过“get”方法加下标。加完下标jq对象变转换成了js,我们可以通过调用js特有的innerhtml来检验是否转换成功。若能调用,则证明转换成功。

(3)jq转化为特定的jq(即jq对象的特定选择,默认是全部选择,我们也可以这样理解,jq获取的元素类似于集合,获取的是一个数组)。默认情况下,jq用html方法修改,则全部均被修改,而我们可以用eq方法加下标,使之只更改特定的值。

3.jq的遍历操作

jq的each()方法可以遍历每个元素,而each()中的function(i){}函数的第一个参数i则表示为取到元素的下标。

js访问元素innerHTMLjq访问元素html

4.jq之属性操作

(1)attr设置/读取标签属性

我们先给div的id为“box”,再通过alert读出id的值,并通过弹窗弹出显示。

我们通过attr给div设置属性class,class名为classname,并通过弹窗弹出。

为检验class是否真的加上,我们点击确定后,在谷歌浏览器中按F12,点击elements,进行查看。

jq中attr修改属性也是同样的方法,使用“attr(需要修改的名称,“修改的新值”);”语句即可。使用removeAttr()方法可以删除我们不想要的属性。

(2)addClass添加类/removeclass删除类

我们以addclass给div下的第1个p标签添加类box1为例。addclass也可加多个类addclass(box1box2)。

注意:removeclass();当不传参时,删除所有的类,当removeclass(box1)时,只删除box1。

(3)toggleClass();有则删除,无则添加。

jq中使用toggleClass();可给被操作的对象进行“删除类并增加类”的效果,仍以p标签为例,使用toggleClass()前,4个p标签中,只有第1个p标签有box1类,其余p标签分别为“box2、box3、”box4。

执行toggleClass()前执行toggleClass()或效果

(4)jq中,设置值时一般全部设置;获取值时,一般只获取第1个。

设置效果获取效果

5.jq操作样式

(1).css()、.width()、.height()

我们设置id=box的父div样式,设置宽度width:px;(像素),高度height:px;边界线border:10pxsolidred(实体红线);盒子模型padding:20px(相对于div而言);边距margin:50px;(margin相对浏览器页面而言)。

jq中直接使用css()即可改变相应的样式值。

当要更改多个属性值时,可以使用键值对的形式,使用{“word”:“key”,“word2”:“kye2”,},键值对中间用逗号隔开即可。

(2)width();innerWidth();outerWidth();的使用

通过弹窗,我们可以看出,width---;innerWidth---;outerWidth--;这又分别代表了什么呢?我们在谷歌浏览器中按下F12,选中我们的盒子模型。

很明显,width--代表的就是我们设置的div宽度;innerWidth--代表的就是+20+20(padding:20px);而outerwidth--代表的就是+20+20(padding:20px)+10+10(border:10px)。也就是说innerWidth计算了基础值+padding,而outerwidth计算了“基础值+padding+border的像素值。

(3)offset的两个属性

offset有top和left代表了距浏览器窗口上方/左边的值。我们先将margin的值设为自动auto,然后添加语句offset().top和offset().left来分别弹出我们想要查看的值,并横向拖拽浏览器调整窗口大小,使div距浏览器窗口左边距离变化,可看到第2个弹窗中值发生变化。

(4)position也有两属性

position也有两个属性top和left,代表了到父级的上、左距离。先给父级div的position为relative(相对),子块div为absolute为(绝对)。

我们在子块box1中键入left:50px,top:60px,用弹窗表示,发现其变化为50,60(相对于父级定位)。

好,有关jq的事儿咱们今天就先聊到这儿,咱们明天继续。如果您有什么相关问题可以在评论区留言,小叮当看到后便会及时回复您的~




转载请注明:http://www.aierlanlan.com/grrz/3440.html