2015就业班入门总结js-day02培训内容_第1页
2015就业班入门总结js-day02培训内容_第2页
2015就业班入门总结js-day02培训内容_第3页
2015就业班入门总结js-day02培训内容_第4页
2015就业班入门总结js-day02培训内容_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、培训要求掌握 JSON 及其应用了解 jQuery 的背景和特点理解 js 对象和 jQuery 对象的区别掌握 jQuery 九类选择器及应用(上):今天服务端使用 Struts2 技术一)JSON(1)JSON(Java Script Object Noion(记号,标记)是一种轻量级的以文本字符串为基础,且易于让人阅读语言,注意:XML 就是一个重量级的语言(2)JSON 采用完全独立于任何程序语言的文本格式,使 JSON 成为理想的语言二)JSON 的作用(1)简化创建自定义对象的方式注意:JSON 就是用 JS 语法来书写,所以必须放在在用 JS 语法书写JSON 时,最外面不要用双

2、引号中var p = id:1, name:哈哈,:no:135,type:中移动,no:133,type:中,show:function(username)alert(你的是: + +:+username);(2)在 AJAX 中,作为数据载体之一注意:JS 可以直接JSON 格式的文本,前提是:该 JSON 必须采用 JS 格式书写的才行,如果该 JSON 是采用 Java 格式写的,必须使用 eval()函数转换后,方可被 JS,该eval()函数接收一个字符串格式的内容。(3)省份-城市-区域三级联动【Struts2 + JSON 版】切记:将来 JSON 是不能完完全全替

3、代 XML 的,只能在定义对象和面替代语言方action:/*根据省份查询城市*/public String findCityByProvinceMethod() throws Exception cityList = new ArrayList();if(.equals(province)cityList.add();cityList.add();else if(湖南.equals(province) cityList.add(岳阳); cityList.add(张家界);else if(.equals(province) cityList.add(韶关);cityList.add(东莞);

4、return ok;/*根据城市查询区域*/public String findAreaByCityMethod() throws Exception areaList = new ArrayList();if(.equals(city)areaList.add(AA);areaList.add(BB);else if(.equals(city)var p = city:,广州,; for(var i=0;ip.city.length;i+).write(p.cityi+);,isSingle:false;struts.xml导入:struts2-json-plugin-.jar

5、areaList.add(CC);areaList.add(DD);else if(岳阳.equals(city) areaList.add(EE);areaList.add(FF);else if(张家界.equals(city) areaList.add(GG);areaList.add(HH);else if(韶关.equals(city) areaList.add(II);areaList.add(JJ);else if(东莞.equals(city) areaList.add(KK);areaList.add(LL);return ok;privaist cityList; priv

6、a ist areaList; public List getCityList() return cityList;public List getAreaList() return areaList;三)使用第准备导入第工具,将 JavaBean 对象/List 或 Set 或 Map 对象转成 JSONjar 包:commons-beanutils-1.7.0.jarcommons-collections-3.1.jarcommons-lang-2.5.jarcommons-logging-1.1.1.jarezmorph-1.0.3.jarjson-lib-2.1-jdk15.jarJav

7、aBeanJSONJSONArray jsonArray = JSONArray.fromObject(city);String jsonJAVA = jsonArray.toString();ListJSONJSONArray jsonArray = JSONArray.fromObject(cityList);String jsonJAVA = jsonArray.toString();ListJSONJSONArray jsonArray = JSONArray.fromObject(stringList);String jsonJAVA = jsonArray.toString();S

8、etJSONJSONArray jsonArray = JSONArray.fromObject(citySet);String jsonJAVA = jsonArray.toString();MapJSONJSONArray jsonArray = JSONArray.fromObject(map);String jsonJAVA = jsonArray.toString();最后一个例子切记,将来 jQuery-EasyUI-DataGrid 组件时将来,在企业中,就算脱离 struts2 的环境,也能用第 JSON 文本还要用到工具,将 Java 类型转成四)总结 JSON 的特点在客户

9、端(特指 PC 浏览器),直接使用 JavaScript 语言本质上,就是一个文本,只是该文本有特定的书写格式JSON,无需第jar 包(3)可以使用第工具,将 JavaBean 对象或者 List/Set/Map对象转成 JSON优点:JSON 与 XML 很相似,但是它更加轻巧,服务器只需发送一个 html 普通字符串,不用发送复杂的 xml 格式文档了缺点:语法过于严谨,初学者可能觉得代码不易读,写错一点都JSON 本质上,就是用 JS 语法写的特殊文本记号,用 JS 可以直接五)模拟 jQuery 库,体验使用第学会:JS 的封装学会:创建自定义对象和优化方法实用库的特点【隐藏与显示】

10、学会:第实用的库,该库中预定义大量实用的对象和函数实用的库提供的 API 手册学会:查阅第/定义一个Photo函数,看作是一个类 function Photo()/属性var imgElement =.images0;/方法this.show = function() imgElement.style.visibility = visible;this.hide = function() imgElement.style.visibility = hidden;/定义一个$()函数,用来定位 function $(str)/如果str变量是字符串类型if( typeof(str) = stri

11、ng )/获取str变量中的第一个字符var init = str.substring(0,1);/如果第一个字符是#的话 if(# = init)/获取str变量中除第一个字符外的其它字符var other = str.substring(1,str.length);/通过ID定位节点var element =.geementById(other);/如果找到了节点 if(element != null)/返回return element;else/返回 return null;else/继续判断elsealert(参数必须为string类型);/创建一个Photo对象 var p = ne

12、w Photo();六)jQuery 是什么John Resig 在 2006 年 1 月发布的一款跨主流浏览器的 JavaScript 库,简化 JavaScript 对 HTML 操作参见七)为什么要使用 jQuery(1)写少代码,做多事情【wriess do more】(2)免费,开源且轻量级的js 库,容量很小注意:项目中,提倡min 版的 js 库兼容市面上主流浏览器,例如 IE,Firefox,Chrome注意:jQuery 不是将所有 JS 全部封装,只是有选择的封装能够处理 HTML/JSP/XML、CSS、DOM、事件、实现动画效果,也能提供异步 AJAX 功能文档手册很全

13、,很详细(6)成插件可供选择(7)提倡对主要的 html提供一个 id 属性,但不是必须的出错后,有一定的提示信息不用再在 html 里面通过一大堆 js 来调用命令了八)jQuery 开发步骤(1)第js 库文件,(2)查阅并使用 api 手册,$(#divID).html()/val()/text()/css(color,red)/./var divElement =.geementById(divID); var $div = $(#divID);/var html = divElement.innerHTML; var html = $div.html();alert(html);/定

14、位隐藏按钮,同时添加单击事件$(#hide).onclick = function()/调用Photo对象的方法 p.hide();/定位显示按钮,同时添加单击事件$(#show).onclick = function()/调用Photo对象的方法 p.show();九)js 对象和 jQuery 对象相互转换(1)js 对象及代码规则就是使用js-API,即 Node 接口中的 API 或是传统 JS 语法定义的对象,叫做js 对象js 代码规则divElementvar divElement =.geementById(divID);var nameArray = new Array(3)

15、;(2)jQuery 对象及代码规则就是使用jQuery-API,返回的对象就叫做 jQuery 对象jQuery 代码规则$div var $div = $(#divID):上述代码规则,只是老师个人规则,不代表所有企业都这样做(3)js 对象转成jQuery 对象【重点】语法:$(js 对象)jQuery 对象例如:$(divElement)$div例如:$(this)$this注意:jQuery 对象将 js 对象做了封装,js 对象二边无引号(4)jQuery 对象转成js 对象语法 1:jQuery 对象下标,从 0 开始语法 2:jQuery 对象.get(下标,从 0 开始)例如

16、:$div0divElement注意:不同的对象只能调用对应的 api 方法,即 jQuery 对象不能调用js 对象的 api,反之亦然$div.innerHTML(错) divElement.html(错)十)js 对象和 jQuery 对象的区别(1)js 对象的三种基本定位方式(A)通过 ID 属性:.geementById()var $div = $(#divID);/jquery对象var divElement = $div0;/js对象(方式一)/var divElement = $div.get(0);/js对象(方式二) var txt = divElement.innerH

17、TML;alert(txt);var inpuement =.geementById(inputID);/js对象var $input = $(inpuement);/jquery对象 var txt = $input.val();alert(txt);(B)通过 NAME 属性:.geementsByName().geementsByTagName()(C)通过名:(2)jQuery 对象的三种基本定位方式(A)通过 ID 属性:$(#id 属性值)(B)通过名:$(名)(C)通过 CLASS 属性:$(.样式名)(3)js 对象出错的显示 没有合理的提示信息例如:alert(.geemen

18、tById(usernameIDD).value)(4)jQuery 对象出错的显示有合理的提示信息,例如:undefined例如:alert($(#usernameIDD).val()十一)jQuery 九类选择器(上)【参见 jQueryAPI.手册】目的:通过选择器,能定位 web 页面(HTML/JSP/XML)中的任何(1) 基本选择器【参见 selector_1.html】(2) 层次选择器【参见 selector_2.html】/1)找到表单form里所有的input元素的个数 alert( $(form input).size() );/2)找到表单form里所有的子级inpu

19、t元素个数 alert( $(form input).size() );/3)找到表单form同级第一个input元素的value属性值 alert( $(form + input).val() );/4)找到所有与表单form同级的input元素个数/1)查找ID为div1ID的元素个数 alert( $(#div1ID).size() );/2)查找DIV元素的个数alert( $(div).size() );/3)查找所有样式是myClass的元素的个数 alert( $(.myClass).size() );/4)查找所有DIV,SPAN,P元素的个数 alert( $(div,spa

20、n,p).size() );/5)查找所有ID为div1ID,CLASS为myClass,P元素的个数 alert( $(#div1ID,.myClass,p).size() );(3)增强基本选择器【参见 selector_3.html】(4)内容选择器【参见 selector_4.html】/1)查找所有包含文本John的div元素的个数alert( $(div:contains(John).size() );/2)查找所有p元素为空的元素个数 alert( $(p:empty).size() );/1)查找UL中第一个元素的内容alert( $(ul li:).text() );/2)查

21、找UL中最后个元素的内容alert( $(ul li:last).text() );/4)查找表格的索引号为1、3、5.奇数行个数,索引号从0开始alert( $(table tr:odd).size() );/5)查找表格的索引号为2、4、6.偶数行个数,索引号从0开始alert( $(table tr:even).size() );/6)查找表格中第二行的内容,从索引号0开始,这是一种祖先 后代 的变化形式alert( $(table tr td:eq(1).text() );/7)查找表格中第二第三行的个数,即索引值是1和2,也就是比0大alert( $(table tr:gt(0).size() );/8)查找表格中第一第二行的个数,即索引值是0和1,也就是比2小aler

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论