第十章Jquery基础
- 格式:ppt
- 大小:1.49 MB
- 文档页数:40
成功之路JQuery基础学习目标掌握jQuery 框架和环境基本概念掌握jQuery 的核心函数和对象掌握jQuery 选择器基本用法掌握jQuery 属性用法掌握jQuery 类对象用法掌握jQuery 事件用法掌握jQuery 的效果简单用法了解jQueryAJAX 的功能jQuery 概述基本概念jQuery John Resig javascript 库.CSS3IE 6.0+, FF是建立的一个轻量级兼容,还兼容各种浏览器(1.5+, Safari 2.0+, Opera 9.0+)使用户能更方便地处理HTML 文档、事件、实现动画效果,并且方便地为网站提供Ajax 交互jQuery 能做什么以插件的形式持续地通过开发加入新的功能 1.获取页面的部分内容2.修改页面的外观3.修改页面的内容4.在页面中响应用户的交互5.给页面加上动画6.无刷新返回服务器端的信息7.还提供了改进基本的JavaScript 结构,如迭代和数组操作谁在用jQuery主流javascript 库①Prototype ②Ext ③YUI jQuery:④Dojo ⑤mooTools ⑥jQuery:①短小精悍,支持xpath 查询,dom1-3,css 支持;②简单的动画实现,支持自定义动画;③支持插件开发,现有插件多;④完整的api 文档以及范例,易学;⑤拥有官方UI 程序供使用,效果好。
jQuery 下载当前版本1.4.4官方网站下载:/jQuery 安装和使用在页面头部head js<script type="text/javascript"src="./script/jquery.js"></script>使用语法:中,添加VS2008中可以实现jQuery 的智能提示/KB958502/Releas e/ProjectReleases.aspx?ReleaseId=1736 Aptana StudioFireFox3+ FireBug1.2配置jQuery 环境1、安装vs2008 sp12、安装jq 插件3、添加jq 脚本到工程中应用jQuery 到代码Jquery 框架的结构参考网站jQuery jQuery Blog()官方网站中文社区一个有不少教程和插件 很好的API 查询站点/index.xml240多个jQuery 插件的列表/Terrylee/archive/2007/12/09/the-ultimate-jquery-plugin-list.htmljQuery 核心函数1核心函数$(expression,[context])接收一个包含CSS 选择器的字符串,然后用这个字符串去匹配一组元素$(html)根据提供的原始HTML 标记字符串,动态创建由jQuery 对象包装的DOM 元素将一个或多个元素转化为对象$(elements)DOM jQuery 两种访问Jquery 核心函数的方法①$(expression,[context])②jQuery (expression,[context])jQuery 核心函数2函数功能jQuery(callback)$(document).ready()的简写jQuery(expression, [context])根据表达式,查找匹配的一组核心函数语法元素jQuery(html, [ownerDocument])动态创建jQuery 包装的DOM 元素jQuery(elements)将DOM 元素转化为jQuery 对象页面载入jQuery(callback)$(document).ready(callback)绑定一个在DOM 文档载入完成后执行的函数 同一个页面上可以多次使用Document 对象Demo<html><head><script src="js1.4/jquery-1.4.1.js"type="text/javascript"></script><script type="text/javascript">$(document).ready(function () {$('#div1').append('<b>Hello World 1</b></br>');});$(document).ready(function () {$('#div1').append('<b>Hello World 2</b></br>');});</script></head><body><div id="div1"></div></body></html>重复注册demo1_document.htmElements 对象Demo<html><head><script src="js1.4/jquery-1.4.1.js"type="text/javascript"></script><script type="text/javascript">$(document).ready(function() {$("<b>Hello </b>").insertBefore("#p1");$("#p1").after("<b>World</b>");$(document.body).css("background", "red");});</script></head><body><p id="p1">这是一个段落</p></body></html>DOM 对象demo2_elements.html①基本选择器*,class,element, id, selector1, selector2等.通过jQuery返回对象②层级选择器ancestor descendant, parent > child,prev +next ,prev ` siblings③内容选择器contains[text], empty, parent, has[selector]等.④子元素选择器even, odd,eq[index], last, first 等返回jQuery 对象基本选择器*,class,element, id, selector1, selector2等.最常用根据给定的ID 匹配一个元素。
JQuery等价于$$(document).ready(function(){});简写==$(function(){});返回值都为[object Object]容错,jQ发生错误不报错1,jq选择器1>基本选择器$(“#idName”)------通过id找元素$(“.className” )------通过class找元素$(“tagName”)-------通过标签找元素$(“*”)---------匹配所有的元素$(“li *”)----li下的全部一般用于局部环境内$(“selector1,selector2”)---群组匹配元素$(“box.div”)-----限定必须是box元素的div2,层级选择器$(“a b”)-----匹配a的后代中所有b元素$(“a>b”)----匹配a中子代b元素(只找儿子,不找孙子)$(“a+b”)----匹配紧邻的一个兄弟b元素(紧邻,一个)$(“a~b”)----匹配a之后的所有兄弟b元素(之后所有)3,过滤选择器1>基本选择器a>特定位置的过滤$(“li:first”)--- --匹配第一个li元素$(“li:last”) ---匹配找到的li中最后一个li元素$(“li:eq(index)”)---匹配找到的li中索引为index的li。
(index从零开始)b>指定范围的过滤$(“li:lt(index)”) --匹配index之前的所有li(不包含index位置的li);$(“li:gt(index)”)---匹配index之后的所有li(不包含index位置的li)$(“li:not(selector)”)---匹配除了not的li内元素$(“li:odd”)----匹配偶数行(索引为奇数)的li$(“li:even”)----匹配奇数行(索引为偶数)的li2>属性过滤$(“[标签属性]”)-----匹配有该属性的俄元素$(“[标签属性=值]”)---匹配属性=指定的元素$(“[标签属性^=value]”)$(“[标签属性$=value]”)$(“[标签属性!=value]”)3>子元素选择器$(“li:first”)------将所有匹配到的元素中只选第一个(返回第一个元素)$(“li:first-child”)----匹配每个li的父元素的第一个孩子(可返回多个元素)$(“li:last”)和(“li:last-child”)用法与以上类似$(“li:only-child”)------匹配li的父级只有一个孩子的li元素val=$(“#id”).val()---获取#id 的文本内容$("#btn").click(function(){var val=$("#txt").val();$("a:contains('"+val+"')").css("background","red");})4>内容过滤$(“li:contexts(text)”)--匹配内容中包含了text的文本的li$(“li:has(selector)”)---匹配内容中包含了selector元素的li$(“li:empty”)-----匹配内容为空的li元素$(“li:parent”)----匹配以li为父元素的DOM节点5>可见和隐藏选择器$(“div:hidden”)----匹配div中设置了display为none的元素,通过其他方式不可见的元素匹配不到;$(“div:visible”)---匹配div中没有设置display为none的元素,只认display设置不为none的元素备注:此选择器只以display设置的结果为准4,表单选择器$(“:input”) ------所有的表单中的控件:input button select$(“:text”)-------文本输入框---所有的input标签type属性值之前加冒号--表示相应的input元素$(“:disable”)---所有表单控件中设置了disable属性的元素$(“:enable”)----所有的表单控件中没有设置disable属性的元素$(“:checked”)---匹配被选中的单选按钮或者复选框$(“:selected”)---匹配被选中的option元素2,获取文本text( )------只获取到文本内容html( )-----获取包含标签在内的所有内容val( ) -----获取表单控件的文本设置内容text(“内容”)------设置内容,不解析标签html( “内容”)-----获取包含标签在内的所有内容val( “内容”) -----获取表单控件的文本.val([“check”,”radio”])----通过数组传递设置选定状态3,获取和设置元素的特性attr(“标签属性”)------获取该属性attr(“标签属性“,”属性值)-----设置该属性设置多个属性:attr({ 属性:属性值,属性:属性值});备注:多个属性设置之间用逗号分隔,最后一个无任何符号删除属性:removeAttr(“标签属性”)4,获取和设置DOM对象的属性property获取:prop( “属性”)设置:Prop(“属性””属性值”)备注:互补与attr( ),, 更适应结果为boolth的类型,5,attrbute和property区别1,区别:表示的意思不一样attrbute特性--所有设置的标签属性都存在attrbute类关联数组中获取:attrbute[ i ] 或者attrbute[“特性名”]property 属性标签有的特性,并已经设置了,可以通过property的方式获取获取:对象.属性名设置:如果对象没有该属性,可以通过对象.属性名=属性值jq:通过prop()方式设置的属性,通过attr()的方式获取不到对象没有的,通过attr()方式设置的,通过prop()的方式获取不到;联系:DOM元素有该特性,并且已经设置了,两种方式度可以获取到补充:通过attr( )获取不到的或设置不了的特殊属性,我们可以通过prop( )获取和设置例如:表单控件的checked属性;6,each( )----遍历每一个匹配到的元素使用语法:each(function(i,ele){ 执行内容});i-----表示每一个元素的索引Ele-----表示匹配到的每一个元素$(Ele)---将获取到的DOM元素转换成jq对象----用jq的API数组与遍历结合使用var arr=["#000","#0f0","#00f","#0ff","#f0f"];$(".warp").each(function(i){$(".warp").eq(i).css("backgroundColor",arr[i]);}); 这里不能使用this7,修改css属性的方法:attr(“class”,”类名”)addClass(“类名”)--------追加样式removeClass(“类名”)-----删除指定的类名removeclass( )------删除所有的类名toggleClass(“类名”)-------切换类名(在有和没有该类名之间切换)hasClasscss(“css属性”)--------获取一个css属性的值css(“css属性”,”属性值”)---设置一个csss属性css({属性:“属性值”,属性:“属性值”});8,获取索引:index( )-----在同辈中找索引index(“selector”)---在指定的同类(同辈)中找索引9,js对象和jq对象相互转换js-----jq 适用$( )工厂函数------$( js对象)jq----js $(“”)[index] 或者$(“”).get( index )转换之后的对象可以用彼此的API10,节点的遍历children( )/children( selector )----子代/子代中某个find( selector )-------在子孙后代中查找指定元素next( )/next( selector )------之后紧跟的一个兄弟元素/筛选某个紧邻的元素nextALL( )/nextAll( selector )----之后所有的兄弟元素prev( )/prev( selector )prevALL/prevALL( selector )siblings( )-----所有兄弟元素不包含自身parent( )------父元素输出---遍历到的内容console.log--只能输出一个,,用each( )11,创建元素$() 工厂函数创建var tr=$("<tr></tr>");$("#oDiv table").append(tr);添加元素父.append(子)----------子元素插入在父元素内容的后面父.preppend(子)--------子元素插入在父元素的内容的前面父.before(子)-----------子元素插入在父元素容器的前面父.after(子)--------------子元素插入在父元素容器的后面补充:反方向操作子.apppendTo(父)preppendTo(父)insertBefore(父)insertAfter(父)12, 替换被替换元素.replaceWith(替换的内容);替换的内容.replaceAll(被替换元素);13,删除要删除的元素.remove();-----------------将匹配到的元素全部删除要删除的元素.remove(“selector”)-----匹配到的元素筛选后再删除14,复制jq对象.clone()------------------将匹配到的jq对象复制如果:jq对象使用嵌入的绑定事件,连同事件一起被复制如果:jq对象使用的分离式绑定事件,绑定的事件不会被复制如果想将分离式绑定的事件一起被复制:jq对象.clone(true);备注:clone()紧紧是复制,并没有挂在DOM树上15,页面加载事件全写:jQuery(document).ready(function(){js语句})简写:$(function(){js语句})16,js的load事件和jq的ready事件的区别js中多个load事件只执行最后一个,jq的多个ready事件都会执行执行时机不同:js的load事件是在页面解析完毕之后执行jq的ready事件在DOM树生成的时候执行ready先于load执行17,$符号与其他框架发生冲突交出$的使用权:$.noConflict()交权的同时可以使用其他符号代替,例如:var Q=$.noConflict(); 收回$的使用权:jQuery(function($){此处可以使用$})18,鼠标经过事件总结mouseovermouseout以上两个事件绑定给father:鼠标经过father 到son也会触发mouseenter可解决mouseleave以上两个事件绑定给father,经过son时不会触发hover将mousenter和mouseleave两个事件封装成一个事件执行jq对象.hover(function(){ 鼠标移入时执行},function(){ 鼠标移出时执行});$("#warp").hover(function(){$("#inner").stop().animate({bottom:0},1000)},function(){$("#inner").stop().animate({bottom:"-200px"},1000)});jq对象.hover(function(){鼠标移入移出都执行此函数---套路:此方法中实现的切换功能})19,事件的绑定方式:1, jq对象.事件名称(fn);eg:$(“#btn”).click(function(){})2, 用on绑定jq对象.on(“事件名称”,执行任务)写法有多种:$(“#btn”).on(“click mouseover”,fn);$(“#btn”).on({click:fn,moueover:fn});20,解除事件绑定:jq对象.off(“事件名称”,fn)------解绑事件名称执行的fn任务jq对象.off(“事件名称”)---------解绑事件名称执行的所有任务jq对象off()----------------解绑该对象的所有事件的所有任务星星评价二级出现增加21,on绑定事件实现的事件代理---------给未来的元素添加事件父.on(“type”,“子元素”,fn)以上父元素将事件类型代理给子元素(未来的),执行fn任务22,jq的事件对象:注意:jq事件对象中阻止事件冒泡和事件的默认行为只需使用事件对象的方法,兼容性已经处理(2.0)trigger 事件自动只执行(冒泡)triggerHander阻止冒泡23,事件的自动执行jq对象.事件名称()------$(“#btn”).clickjq对象.trigger(“type”)------$(“btn”).trigger(“click”)备注:trgger会执行对象的默认行为,也会发生冒泡jq对象.triggerHandler(“type”)定时轮播备注:不会执行事件的默认行为,会阻止事件冒泡24,动画效果show( )hide( )toggle( )---切换执行show( ) hide( )可以传的速度参数:nomal slow fast 数字slideDown----向下滑开slideUp--------向上收齐animition-delay:数字----------延迟动画执行时间stop 当事件中断时,停止动画继续执行多事件合并执行---------节点1 . 方法1 . 节点2 . 方法2节点2 由节点1确定方法从前到后依次执行$(".banner .bg").fadeTo("fast",.6).attr("src",arr[idx]).fadeTo("fast",1);函数的调用方法:function fun(){}var mytime=setInterval(function(){$("#btn").click()},1000); var mytime=setInterval("$('#btn').click()",1000);var mytime=setInterval(fun,1000);var mytime=setInterval("fun()",1000);25,.offset ( ) 获取元素的当前坐标,坐标相对于文档25,获取窗口的相关尺寸js方法:clientHeight || document.documentElement.clientHeight-------获取页面内容所占的高度document.body.scrollHeight || document.documentElement.scrollHeight ------获取页面滚动的高度jq方法:var h=$(window).outHeight( )=$(window).innerHeight( )-----获取的是窗口的可见高度总结:js无法正常获取,只能通过jq获取窗口的可见高度jq无法获取,只能js获取页面的滚动高度outerHeight()获取窗口可见的边框以内的尺寸offsetHeight$(document).ready(function(){alert($(window).height()); //浏览器当前窗口可视区域高度alert($(document).height()); //浏览器当前窗口文档的高度alert($(document.body).height());//浏览器当前窗口文档body的高度alert($(document.body).outerHeight(true));//浏览器当前窗口文档body的总高度包括border padding margin alert($(window).width()); //浏览器当前窗口可视区域宽度alert($(document).width());//浏览器当前窗口文档对象宽度alert($(document.body).width());//浏览器当前窗口文档body的宽度alert($(document.body).outerWidth(true));//浏览器当前窗口文档body的总宽度包括border padding margin})事件放在引号内购物车--全选解除a标签的自身方法模态框视频1,视频标签<video></video>两种链接资源的方式:1,<video src=”视频资源”>2,<video><source src=”视频资源.mp4”><source src=””视频资源.avi></video>2,可通过标签属性来设置的属性control 控制视屏的控件muted 设置静音autoplay设置视频自动播放以上三个属性直接设置属性表示属性为true 不设置表示false poster 设置视屏暂停是的封面缺点:无法正常设置图片的尺寸解决:不使用该属性,而用定位的方式解决3,视屏中是通过js获取或者设置的属性currentTime视频当前播放时间,可以设置和获取paused获取当前是否处于暂停状态true--暂停false---播放ended 获取视屏是否播放到结尾true----播放完duration 获取视频的整个播放时长只能获取不能设置4,视频播放与暂停的方法play( )------播放pause( )-------暂停var w=$("v1").offsetWidth; 获取内容宽度var h=$("v1").offsetHeight; 获取内容高度补充:.get( index ) 根据索引获取html内容返回值:Element、Array.get() 方法允许我们直接访问jQuery对象中相关的DOM节点。
JavaScript+jQuery前端开发基础教程教案第一章:JavaScript概述1.1 课程介绍本章节将介绍JavaScript的发展历程、特点以及应用场景。
使学生了解JavaScript的历史背景和基本概念,为后续学习打下基础。
1.2 教学目标了解JavaScript的历史和发展掌握JavaScript的基本特点掌握JavaScript的应用场景1.3 教学内容1.3.1 JavaScript的历史和发展1.3.2 JavaScript的基本特点1.3.3 JavaScript的应用场景1.4 教学方法采用讲解、案例演示、互动提问等方式进行教学。
1.5 课后作业简述JavaScript的历史和发展。
列举出JavaScript的三个基本特点。
说出JavaScript的应用场景。
第二章:HTML与CSS基础2.1 课程介绍本章节将介绍HTML和CSS的基本概念,以及如何使用它们来创建网页。
学生将学会如何编写HTML代码和应用CSS样式。
2.2 教学目标掌握HTML的基本结构了解CSS的作用和基本语法学会使用CSS样式化网页2.3 教学内容2.3.1 HTML基本结构2.3.2 CSS的基本语法和作用2.3.3 使用CSS样式化网页2.4 教学方法采用讲解、案例演示、互动提问等方式进行教学。
2.5 课后作业编写一个简单的HTML页面,包括、段落和图片。
尝试使用CSS样式化你的HTML页面,使其看起来更美观。
第三章:JavaScript基本语法和操作3.1 课程介绍本章节将介绍JavaScript的基本语法和基本操作,如变量、数据类型、运算符、控制语句等。
学生将学会如何编写简单的JavaScript代码。
3.2 教学目标掌握JavaScript的基本语法学会使用JavaScript进行基本操作3.3 教学内容3.3.1 JavaScript的基本语法3.3.2 变量和数据类型3.3.3 运算符和控制语句3.4 教学方法采用讲解、案例演示、互动提问等方式进行教学。
jQuery核心语法1、关于页面元素的引用通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法。
2、jQuery对象与dom对象的转换只有jquery对象才能使用jquery定义的方法。
注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是jquery对象。
普通的dom对象一般可以通过$()转换成jquery对象。
如:$(document.getElementById("msg"))则为jquery对象,可以使用jquery的方法。
由于jquery对象本身是一个集合,所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。
如:$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。
以下几种写法都是正确的:$("#msg").html();$("#msg")[0].innerHTML;$("#msg").eq(0)[0].innerHTML;$("#msg").get(0).innerHTML;3、如何获取jQuery集合的某一项对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jquery对象,而get(n)和索引返回的是dom元素对象。
对于jquery对象只能使用jquery的方法,而dom对象只能使用dom的方法,如要获取第三个<div>元素的内容。
JQuery基础1、JQuery概念A、Jquery是一个优秀的Javascript框架。
它是轻量级的js库,它兼容CSS3,还兼容各种浏览器,jQuery2.0及后续版本将不再支持IE6/7/8浏览器。
jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
B、JavaScript的缺点:控件的操作方式不统一,不同浏览器容易出观兼容问题。
为了简化操作,出现了许多对JavaScript封装的函数库比如Prototype、JQuery等。
C、JQuery的优点:小巧、方便、功能强大。
插件丰富、开源、免费。
D、VS在VS2010中已经实现自动完成功能,VS2008需要安装VSSP1补丁和VS90SP1-KB958502-X86补丁才能更好的支持,然后引用jquery-1.4.1.js,jquery-1.4.1-vsdoc.js 放在同目录下,VS2008中才会有自动提示和自动完成功能。
E、JQuery文件说明:jquery-1.4.2.js是JQuery主文件。
jquery-1.4.2.min.js是压缩板JQuery主文件。
jquery-1.4.2-vsdoc.js是JQuery在VS中的自动提示功能。
2、JQuery之ReadyA、JQuery的read和Dom onload的区别:onload是所有Dom元素创建完毕触发,而ready 则是Dom元素创建完就触发,这样可以提高网页的响应速度。
3、JQuery内置函数A、$.map(array, function)函数:对数组array中每个元素调用function函数逐个处理,function 函数处理返回一个新的数组。
WEB论坛您的位置:WEB开发站长站web前端JS/VBSjqueryjQuery基础教程(新手入门必看)jQuery基础教程(新手入门必看)2009-10-10 21:54:18 作者:admin 来源:浏览次数:133 网友评论 0条此文以实例为基础一步步说明了jQuery的工作方式。
现以中文翻译(添加我的补充说明)如下。
如有相关意见或建议请麻烦到我的 BLOG 写个回复或者 EMAIL 告知。
英文原版:http://jquery.bassistance.de/jquery-getting-started.html ,感谢原文作者Jörn Zaefferer内容提要安装Hello jQueryFind me:使用选择器和事件Rate me:使用AJAXAnimate me(让我生动起来):使用FXSort me(将我有序化):使用tablesorter插件(表格排序)Plug me:制作您自己的插件Next steps(下一步)安装一开始,我们需要一个jQuery的库,最新的下载可以到这里找到。
这个指南提供一个基本包含实例的包供下载.(译者Keel注:一定要下载这个包,光看文章不实践肯定是不行的。
)下载后解压缩,然后用你最喜欢的文本编辑器打开starterkit.html和custom.js这两个文件。
(译者Keel注:这两个就是例子文件,所有的例子都用这两个例子作出,custom.js写jQuery代码,starterkit.html观察效果.建议用editPlus打开)现在,我们就已经做好了一切准备来进行这个著名的"Hello world"例子.本章的相关链接:jQuery DownloadsHello jQuery在做所有事情之前,我们要让jQuery读取和处理文档的DOM,必须尽可能快地在DOM载入后开始执行事件,所以,我们用一个ready事件作为处理HTML文档的开始.看看我们打开的custom.js这个文件,里面已经准备好了:$(document).ready(function() {// do stuff when DOM is ready});放一个简单的alert事件在需要等DOM完成载入,所以我们把任务稍稍变复杂一点:在点击任何一个链接时显示一个alert.$(document).ready(function() {$("a").click(function() {alert("Hello world!");});});这样在你点击页面的一个链接时都会触发这个"Hello world"的提示。
JQuery编程基础1、课前说明a)内容:掌握JQuery编程思想,使用JQuery进行常见网页效果开发。
b)目标:能够使用JQuery开发常见的网页效果。
c)参考书:《锋利的JQuery》2、JQuery简介a)普通JavaScript的缺点:每种控件的操作方式不统一,不同浏览器下有区别,要编写跨浏览器的程序非常麻烦。
因此出现了很多对JavaScript的封装库,比如Prototype、Dojo、ExtJS、JQuery等,这些库对JavaScript进行了封装,简化了开发。
这些库是对JavaScript的封装,也就是咱们调用JQuery的一句函数,JQuery内部这句函数帮我们调用JavaScript中的代码几十句,因为JQuery就是JavaScript语法写的一些函数类,内部仍然是调用JavaScript实现的,所以并不是代替JavaScript的。
使用JQuery的代码、编写JQuery的扩展插件等仍然需要JavaScript的技术,JQuery本身就是一堆JavaScript函数。
b)JQuery是最火的JavaScript库,已经被集成到VS2010了,得到了MS的支持,MS的Ajax toolkit和JQuery结合也是最方便,JQuery的扩展插件也是非常多。
c)JQuery能做什么。
d)JQuery的优点:尺寸小、使用简单方便(Write Less,Do More),吃的少干的多。
链式编程($(“#div1”).draggble().show().hide().fly())、隐式迭代(自动对于多个元素进行迭代方法调用))、屏蔽浏览器差异跨浏览器兼容性好(IE6.0+,FF2+,Safari3.0+.Opera9.0+,Chrome)、插件丰富、开源、免费。
e)VS中JavaScript、JQuery的自动完成功能:在VS2010中直接有,VS2008需要安装VisualStudio和VS90SP1-KB958502-X86补丁会更强更好用。
1、jQuery介绍:1)特点使用选择器(借鉴了css选择器的语法)查找节点,并且将节点封装成jQuery对象,通过调用jQuery对象的方法或者属性来实现对底层节点的操作。
这样做的好处是:屏蔽了浏览器之间的差异,另外,也简化了编程。
浏览器之间的差异:(1)ajax应用当中,ie内置的ajax对象会使用gbk编码格式对参数进行编码,而其它浏览器(firefox,chrome)使用utf-8 编码。
(2)找到事件对象以后,要想找到事件源,ie使用e.srcElement属性,而firefox,chrome使用e.target属性。
(3)在dom操作当中,如果要遍历,也要考虑浏览器之间的差异,因为ie与firefox生成的dom树的结构有差异。
2)jQuery编程的基本步骤step1, 引入jQuery.js文件。
step2, 使用jQuery选择器查找节点。
step3,调用jQuery对象的方法或者属性来操作节点。
3)jQuery对象与dom节点之间如何转换dom节点---> jQuery对象:$(dom节点);jQuery对象---> dom节点:方式一: $obj.get(0);方式二: $obj.get()[0];2、选择器jQuery的选择器类似于css中的选择器,其作用查找节点,施加行为。
1)基本选择器#id 依据id查找(优先使用).class 依据class属性值element 依据标记的名称selector1,selector2..selectorn 将多个选择器的结果进行合并* 所有的节点2)层次选择器select1 select2: 依据selector1找到某个节点,然后查找其所有的后代(满足select2要求的)。
select1>select2: 只查找子节点。
select1+select2:下一个兄弟。
select1~select2:下面所有的兄弟3)过滤选择器(1)基本过滤选择器:first:last:not(selector):even:odd:eq(index):gt(index):lt(index)(2)内容过滤选择器:contains(text) 匹配包含给定文本的元素:empty 匹配所有不包含子元素或者文本的空元素:has(selector) 匹配含有选择器所匹配的元素的元素:parent 匹配含有子元素或者文本的元素(3)可见性过滤选择器:hidden 匹配所有不可见元素,或者type为hidden的元素:visible 匹配所有的可见元素(4)属性过滤选择器[attribute][attribute=value][attribute!=value](5)子元素过滤选择器下标从1开始:nth-child(index/even/odd) (6)表单对象属性过滤选择器:enabled:disabled:checked:selected4)表单选择器:input:text:pasword:radio:checkbox:submit:image:reset:button:file:hidden3、dom操作1)查询利用选择器找到节点之后,可以使用:(1) html(): 修改或者访问节点的html内容,相当于innerHTML属性。