HTML教程(第四章).pptx
《HTML教程(第四章).pptx》由会员分享,可在线阅读,更多相关《HTML教程(第四章).pptx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、jQuery概述及开发环境搭建 1.概述 jQuery是一个开源的、优秀的Javascript框架,集CSS、DOM、Ajax操作于一体。它的主旨是“以更少的代码。实现更多的功能”。可以通俗的认为,它就是Javascript函数库。它具有以下几个基本功能:(1)访问和操作DOM元素 使用jQuery,可以很方便地获取和修改页面中的某元素,无论是删除、移动还是复制某元素,jQuery都提供了一整套完整方便、快捷的方法。(2)控制页面样式 通过引入jQuery,开发人员可以很快捷地控制页面的CSS样式。(3)对页面事件的处理 引入jQuery后,可以使页面的表现层与功能开发分离,通过事件绑定,轻松
2、地实现二者的结合。(4)大量插件在页面中的运用 在引入jQuery后,还可以使用大量的插件来完善页面的功能和效果,如表单插件、UI插件,这些插件极大的丰富了页面的展示效果。(5)与Ajax的完美结合 Ajax的异步读取服务器数据的方法,极大地方便了程序的开发,加深了用户的页面体验度;而jQuery不仅完善了原有的功能,而且减少了代码的书写,通过其内部对象或函数,加上几行代码就可以实现复杂的功能。2.搭建开发环境 (1)在jQuery的官方网站下载的jQuery文件库。(最新版本为2.0.2,但本次案例都没有使用最新版本,使用了旧的版本1.9.1。)http:/ 例:window.onload=
3、function()alert(open_1);window.onload=function()alert(open_2);$(document).ready(function()alert(ready_1););$(document).ready(function()alert(ready_2););Javascript:window.onload必须在页面全部加载完毕后才能执行。多个onload事件,只会执行最后一个。jQuery:$(document).ready在页面框架下载完毕后就执行,早于onload事件,效率更高。并且可多个执行。$(document)表示获取当前页面的Docum
4、ent对象。$是是jQuery的的标志,无志,无论是是页面元素的面元素的选择、功能函数、功能函数的前的前缀,都需要使用,都需要使用该符号。符号。(见jQuery_simple.html)$符号在jQuery中一般用于两个地方:1.$()函数 语法一:$(选择器表达式选择器表达式)例如:$(#divOne)$(#divOne.cls)语法二:$(字符串字符串)例如:$();2.声明jQuery对象 语法:$对象名称对象名称 例如:var$doc=$(document);var$divMain=$(#divMain);var$inputList=$();下章介绍,语法与css选择器基本一致。用于获
5、取页面元素。创建了一个img元素对象。jQuery选择器 jQuery选择器继承了CSS选择器的大部分语法,允许通过标签名、属性名或内容对DOM元素进行快速、准确的选择,而不必担心浏览器的兼容性,通过jQuery选择器对页面元素的精确定位,能够完成元素属性和行为的处理。根据所获取页面中元素的不同,分为:jQuery选择器基本选择器层次选择器过滤选择器表单选择器简单过滤选择器内容过滤选择器可见型性过滤选择器属性过滤选择器子元素过滤选择器表单对象过滤选择器css()方法返回或设置匹配的元素的一个或多个样式属性。共两个参数,第一个参数为css属性名,第二个参数为css属性值,可以为具体数值,也可以是
6、创建函数进行处理。1.基本选择器 基本选择器是使用最频繁的选择器。它由元素ID、class属性、元素名、通配符*、多个选择组成,与css选择器语法完全一致。例如:ID CLASS SPAN$(#divOne).css(display,block);$(div).css(display,block);$(.clsFrame.clsOne).css(display,block);$(*).css(display,block);$(#divOne,span).css(display,block);(见selector_basic.html)ID匹配元素。元素名匹配元素。类匹配元素。匹配所有元素。多个
7、选择器匹配元素。2.层次选择器 层次选择器通过DOM元素间的层次关系获取元素,其主要的层次关系包括后代、父子、相邻、兄弟关系,与css选择器语法完全一致。例如:Left Right_1 Right_2匹配子元素。匹配后代元素。$(#divMid).css(display,block);$(div span).css(display,block);$(div span).css(display,block);$(#divMid+div).css(display,block);$(#divMid).next().css(display,block);$(#divMid div).css(displ
8、ay,block);$(#divMid).nextAll().css(display,block);$(#divMid).siblings(div).css(display,block);(见selector_hierarchy.html)返回所有相邻的div元素。返回后面所有的同胞元素。返回下一个相邻的同胞元素。匹配后面相邻的同胞元素。匹配后面所有的指定类型的同胞元素。本例中,效果相同。本例中,效果相同。3.过滤选择器 过滤选择器根据某类过滤进行元素的匹配,书写时以冒号”:”开头。与CSS样式伪类和伪元素几乎一致。以简单过滤选择器为例:Item 1 Item 2 Item 3 Item 4$
9、(li:first:first).addClass(GetFocus);$(li:last:last).addClass(GetFocus);$(li:not(.not(.NotClass).addClass(GetFocus);$(li:eq(eq(1).addClass(GetFocus);$(li:gt(gt(1).addClass(GetFocus);$(li:lt(lt(4).addClass(GetFocus);addClass()方法向被选元素添加一个或多个类选择器名。匹配li元素集合的第一个。匹配li元素集合的最后一个。匹配指定选择器以外的所有li元素。匹配li集合中指定索引值
10、的那个元素,以0开始计数。匹配li集合中大于指定索引值的元素,以0开始计数。匹配li集合中小于指定索引值的元素,以0开始计数。(见selector_filter_simple.html)4.表单选择器 无论是提交还是传递数据,表单在页面中的作用是显而易见的。为了使用户能更加方便地、高效地使用表单,jQuery选择器引入了表单选择器,这是CSS选择器没有的,通过它可以在页面中快速定位某表单对象。例如:Textarea$(#form1:input:input).addClass(colorA);$(#form1:button:button).addClass(colorB);:input获取所有i
11、nput、textarea、select标签元素。:button获取所有按钮。jQuery对DOM的操作 1.访问元素(1)元素属性操作 获取元素属性:attr(“name“)设置单个元素属性:attr(“name“,value)设置多个元素属性:attr(name1:value1,name2:value2,.)删除元素属性:removeAttr(“name“)例如:var srcStr=$(img).attr(src);$(img).attr(title,This is a picture);$(img).attr(id:img1,title:This is a picture);$(img
12、).removeAttr(title);name:属性名称value:属性值(见dom_attr_control.html)获取img标签的src属性值。设置单个或多个属性。删除title属性。(2)元素内容操作 获取或设置元素的HTML内容(类似JS中的innerHTML属性):html(val)获取或设置元素的文本内容(类似JS中的innerText属性):text(val)例如:Write Less Do More var htmlStr=$(#divShow).html();var textStr=$(#divShow).text();$(#divHTML).html(htmlStr)
13、;$(#divText).text(textStr);元素的HTML内容,无参数表示获取,有参数表示设置。元素的文本内容(见dom_attr_content.html)获取id属性为divShow的div元素的HTML内容:Write Less Do More获取id属性为divShow的div元素的文本内容:Write Less Do More对id属性为divHTML的div元素设置HTML内容。对id属性为divHTML的div元素设置文本内容。(3)元素样式操作 获取元素样式:css(“样式名称样式名称“)直接设置元素样式:css(“样式名称样式名称“,样式的值样式的值)增加类别设置样
14、式:addClass(“类选择器名称类选择器名称“)切换类别设置样式:toggleClass(“类选择器名称类选择器名称“)删除类别:removeClass(“类选择器名称类选择器名称“)例如:.imgCls border-radius:50px;.var width=$(img).css(width);$(img).css(border,5px solid red);$(img).addClass(imgCls);$(img).toggleClass(imgCls);$(img).removeClass(imgCls);(见dom_attr_css.html)当元素中含有参数名称的类样式时,
15、删除该样式。否则增加一个该类名称的样式。获取img元素的width样式属性值。设置img元素样式的border属性。添加类样式。切换类样式,增加或删除类样式。删除类样式。2.创建元素节点 如果要在页面中增加某个元素,只需要找到元素的上级节点,通过函数$()完成元素的创建,然后添加到该节点中。语法:$(HTML$(HTML字符串字符串)例如:checkbox var$select$select=$($(AB);$(div).appendappend($select);声明jQuery对象。向选择的元素div内的结尾部分内的结尾部分插入select元素。语法:选择器器.append(插入的元素插入
16、的元素)参数也可以是一个函数参数也可以是一个函数,例如:$(div).append(function()return$select;);(见dom_addElement.html)创建了select元素对象。3.插入节点 按照插入元素的顺序来分,可以分为内部插入和外部插入。(1)内部插入 (a)append()、appendTo()上例中提到了append(),还有一个appendTo()appendTo()也经常用到。该函数用于将一个元素插入到另一个指定的元素内的结尾部分元素内的结尾部分。语法:插入的元素插入的元素.appendTo(选择器表达式选择器表达式)所以,参照上例,将$($(div
17、div).append($select)改为$select.appendTo(divdiv),运行效果是一致的。(见dom_insertElement_inner_end.html)(b)prepend()、prependTo()使用方法与append()、appendTo()一致,区别在于,这两个方法不是在指定元素内的尾部插入内容,而是在头部头部。(见dom_insertElement_inner_start.html)(2)外部插入 (a)after()、insertAfter()前者是向所选择的元素外的后面元素外的后面插入内容,后者则是将内容插入到所选择的元素外的后面元素外的后面。区别如
18、同append()与appendTo()的关系。语法:选择器选择器.after(插入的元素插入的元素)插入的元素插入的元素.innserAfter(选择器表达式选择器表达式)例如:var$select=$(AB);$(img).afterafter($select);$(img).afterafter(functionfunction()returnreturn$select;);$select.insertAfterinsertAfter(img);参数也可以是函数。效果一致。(b)before()、inserBefore()前者是向所选择的元素外的前面元素外的前面插入内容,后者则是将内容插
19、入到所选择的元素外的前面元素外的前面。区别同样如同append()与appendTo()的关系,用法也与after()、insertAfter()一致。语法:选择器选择器.before(插入的元素插入的元素)插入的元素插入的元素.innserBefore(父元素选择器表达父元素选择器表达式式)例如:var$select=$(AB);$(img).beforebefore($select);$(img).beforebefore(functionfunction()returnreturn$select;);$select.insertBeforeinsertBefore(img);参数也可以是
20、函数。效果一致。(见dom_insertElement_outer.html)4.复制节点 在页面中,有时需要将某个元素节点复制到另一个节点后,可以使用clone()实现。语法:选择器选择器.clone(true).clone(true)例如:$(img).click(function()alert(img););$(img).eq(0).clone()clone().appendTo(div);$(img).eq(0).clone(true)clone(true).appendTo(div);参数可以省略,这时表示仅复制元素本身,被复制后的新元素不具有任何元素行为。如果需要复制该元素的全部行
21、为,设置参数true。定义图片标签点击事件的行为。$(“img”)返回一个img标签元素的集合,eq方法根据索引值获取其中指定元素。第一句代码中clone()没有带参数,新元素不会复制原元素的click行为;而第二代码添加了参数true,则click行为被一并复制。(见dom_cloneElement.html)5.替换节点 (1)replaceWith()将所有指定的元素节点替换成新的元素节点。语法:选择器选择器.replaceWith(.replaceWith(新的元素新的元素)(2)replaceAll()将新的元素节点替换所有指定的元素节点。语法:新的元素新的元素.replaceAll
22、(.replaceAll(选择器表达式选择器表达式)例如:姓名:生日:$(#span1).replaceWith(张三);$(2014/4/4).replaceAll(#span2);(见dom_replaceElement.html)参数也可以是函数。6.包裹节点 (1)wrap()所有指定的元素逐个用其他元素包裹起来。语法:选择器选择器.warp(.warp(包裹元素包裹元素)(2)unwrap()删除所有指定的元素的父节点。语法:选择器选择器.unwarp().unwarp()(3)wrapAll()所有指定的元素用单个其他元素包裹起来。语法:选择器选择器.warpAll(.warpAl
23、l(包裹元素包裹元素)(4)wrapInner()所有指定元素的文本内容用其他元素包裹起来。语法:选择器选择器.warpInner(.warpInner(包裹元素包裹元素)参数也可以是函数。参数也可以是函数。姓名:张三生日:2014/4/4$(p).wrapwrap();$(p).unwrapunwrap();$(p).wrapAllwrapAll();$(span).wrapInnerwrapInner();(见dom_wrapElement.html)7.遍历元素 (1)each()语法:选择器选择器.each(function(.each(function(索引值索引值)语句块语句块 )
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HTML 教程 第四
限制150内