当前位置:文档之家› JQuery笔记整理

JQuery笔记整理

JQuery笔记整理
JQuery笔记整理

一、JQuery对象和DOM(文本对象模型)对象定义

1)变量定义的区别

var $mObject=JQuery对象;

var m=DOM对象;

2)JQuery对象和DOM对象转化

1、JQuery对象转化为DOM对象

通过[index]和get(index)两种方法可以将JQuery对象转化为DOM对象。方法一:

1var$cr=$("cr"); //JQuery对象

2var cr=$cr[0]; //DOM对象

方法二:

var$cr=$("cr"); //JQuery对象

var cr=$cr.get(0); //DOM对象

2、DOM对象转化为JQuery对象

var cr=doucment.getElementById("cr"); //DOM对象

var$cr=$(cr); //JQuery对象

二、JQuery获取页面上的元素

3)$与JQuery

JQuery为了防止和其它的库有冲突,只建立了一个对象就是jQuery对象,$是jQuery 的缩写形式。因此:

$.ajax和jQuery.ajax是等价的。

4)JQuery的$()简介

JQuery为了达到document.getElementById(“myID”)的目的,采用$(“#myID”)实现。得到ID为myID的元素。

$(“div p”) :得到所有

标签下的

元素

$(“div.container”) :得到class为container的

元素

$(“div #msg”) :得到

标签下面id为msg的元素

$(“table a”,context) :得到context为上下文的table里面的所有链接元素。

→$(”username”)

→$(“#passwd”)

→$(“.inputcss”)

some text

→$(“[a@rel=’ nofollow self’]”)

$(“a[@rel]”) :选择所有的以为标记并且具有rel属性的元素。

$(“input[name=myname]”) :选择所有的input标签并且标签的名字为myname $(“input[name!=myname]”) :选择所有的input并且标签名字不为myname

$("div > p").html() :值为div下的p元素中的内容

还可以根据正则表达式来选择。

注意:$("p")和$("#p")的区别,$("p")表示取所有p标签(

)的元素,$("#p")表示取id 为"p"()的元素.

5)下面根据正则表达式来选择,以什么结尾

$(“a[herf$=index.htm]”) :选择所有的标签并且这个标签具有以index.htm结尾的href 属性。

6)根据正则表达式来选择,包含什么

$(“a[herf*=https://www.doczj.com/doc/9e12844456.html,]”) : 选择所有的标签并且这个标签的href属性值包含https://www.doczj.com/doc/9e12844456.html,

7)根据属性选择

$("span[id='Unit_" + m_id + "']").html("万元");

可以使用变量表示控件的属性值

8)自定义选择符

$(“tr:odd”) :取得表格中的奇数行

$(“tr:even”) :取得表格中的偶数行

$(“div.horizontal:eq(1)”) :选择带有horizontal类的div集合中的第2项

$(‘td:contains(“Henry”)’) :”选择表格中包含“Henry”内容的单元格。

$("#orderedlist li:last") : list的最后一个element上生效

alert($("p").get(1).innerHTML); :alert对话框显示第二个

标签的内容

注意get和eq的区别,eq返回的是jQuery对象,get返回的是所匹配的dom对象,所有取$("p").eq(1)对象的内容用jQuery方法html(),而取$("p").get(1)的内容用innerHTML

9)访问某个元素

Var myTag=$(“#myelement”).get(0).tagName

:找到Id=” myelement”的元素的第0个元素的标签名。

var f = $("div");

alert($(f).find("p").html()) :显示div中的p内容

alert($("img").length); :弹出alert对话框显示2,表示找到两个匹配对象

10)add(expr) 在原对象的基础上在附加符合指定表达式的jquery对象

Hello

Hello Again

jQuery

jQuery代码及功能:

function jq(){

var f=$("p").add("span");

for(var i=0;i < $(f).size();i++){

alert($(f).eq(i).html());}

}

执行$("p")得到匹配

的对象,有两个,add("span")是在("p")的基础上加上匹配的对象,所有一共有3个,从上面的函数运行结果可以看到$("p").add("span")是3个对象的集合,分别是[

Hello

],[

Hello Again

],[Hello Again]。

add(el) 在匹配对象的基础上在附加指定的dom元素。

$("p").add(document.getElementById("a"));

add(els) 在匹配对象的基础上在附加指定的一组对象,els是一个数组。

Hello

Hello Again

jQuery代码及功能:

function jq(){

var f=$("p").add([document.getElementById("a"), document.getElemen tById("b")])

for(var i=0;i < $(f).size();i++){

alert($(f).eq(i).html());}

}

注意els是一个数组,这里的[ ]不能漏掉。

11)匹配结点的父节点

ancestors () 一依次以匹配结点的父节点的内容为对象,根节点除外(有点不好理解,看看下面例子就明白了)

one

two

jQuery代码及功能:

function jq(){

var f= $("u").ancestors();

for(var i=0;i < $(f).size();i++){

alert($(f).eq(i).html());}

}

第一个对象是以的父节点的内容为对象,[ two ]

第一个对象是以的父节点的父节点(div)的内容为对象,[

one

two ]

一般一个文档还有和,依次类推下去。

ancestors (expr) 在ancestors()的基础上之取符合表达式的对象

如上各例子讲var f改为var f= $("u").ancestors(“div”),则只返回一个对象:

[

one

two ]

children() 返回匹配对象的子节点

one

two

jQuery代码及功能:

function jq(){

alert($("#ch").children().html());

}

$("#ch").children()得到对象[ two ].所以.html()的结果是”two”

children(expr) 返回匹配对象的子介点中符合表达式的节点

two

three

jQuery代码及功能

function jq(){

alert($("#ch").children(“#sp”).html());

}

$("#ch").children()得到对象[twothree ].

$("#ch").children(“#sp”)过滤得到[three ]

parent () parent (expr)取匹配对象父节点的。参照children帮助理解

contains(str) 返回匹配对象中包含字符串str的对象

This is just a test.

So is this

jQuery代码及功能:

function jq(){

alert($("p").contains("test").html());

}

$("p")得到两个对象,而包含字符串”test”只有一个。所有$("p").contains("test")返回[

This is just a test.

]

end() 结束操作,返回到匹配元素清单上操作前的状态.

filter(expr) filter(exprs) 过滤现实匹配符合表达式的对象exprs为数组,注意添加“[ ]”

Hello

Hello Again

And Again

jQuery代码及功能:

function jq(){

alert($("p").filter(".selected").html())

}

$("p")得到三个对象,$("p").filter(".selected")只返回class为selected的对象。

find(expr) 在匹配的对象中继续查找符合表达式的对象

Hello

Hello Again

And Again

Query代码及功能:

function jq(){

alert($("p").find("#a").html())

}

在$("p")对象中查找id为a的对象。

is(expr) 判断对象是否符合表达式,返回boolen值

Hello

Hello Again

And Again

Query代码及功能:

function jq(){

alert($("#a").is("p"));

}

在$("#a ")是否符合jquery表达式。

大家可以用$("#a").is("div"); ("#a").is("#a")多来测试一下

next() next(expr) 返回匹配对象剩余的兄弟节点

Hello

Hello Again

And Again

jQuery代码及功能

function jq(){

alert($("p").next().html());

alert($("p").next(".selected").html());

}

$("p").next()返回[

Hello Again

,

And Again

]两个对象

$("p").next(".selected)只返回[

And Again

]一个对

prev () prev (expr) 参照next理解

not(el) not(expr) 从jQuery对象中移出匹配的对象,el为dom元素,expr为jQuery表达式。

one

two

jQuery

jQuery代码及功能:

function js(){

alert($("p").not(document.getElementById("a")).html());

alert($("p").not(“#a”).html());

}

$("p")由两个对象,排除后的对象为[

one

]

siblings () siblings (expr) jquery匹配对象中其它兄弟级别的对象

one

two

jQuery

jQuery代码及功能:

function js(){

alert($("div").siblings().eq(1).html());

}

$("div").siblings()的结果实返回两个对象[

one

jQuery ] alert($("div").siblings(“a”)返回一个对象[jQuery ]

三、JQuery管理样式表

12).addClass()方法把一个CSS类应用到我们选择的对象。

13).removeClass()方法将移除一个CSS类

14).toggleClass(class)

为匹配的元素切换CSS类。例:

HTML 代码:

Hello

Hello Again

jQuery 代码:

$("p").toggleClass("selected");

结果:

Hello

,

Hello Again

说明:具有selected类的p就没有了,没有的就添加了相应的类

四、JQuery中的事件

15)$(document).ready(function(){ })预定了DOM加载完成后(不必等待图像加载完

成)触发的函数调用。

16)给对象添加click事件

$(document).ready(function(){

$(“#Myid”).bind(“click”,function(){

……

$(this).addClass(“……”); //表示给当前对象(Myid)添加样式

});

});

上面代码还可以简写为如下形式:

$(document).ready(function(){

$(“#Myid”).click(function(){

……

$(this).addClass(“……”); //表示给当前对象(Myid)添加样式

});

});

17)交替执行单击事件

$(document).ready(function(){

$(#button).toggle(function(){

事件一;

},function(){

事件二

});

});

当第一次单击按钮时执行事件一,当第二次单击按钮时执行事件二。

18)鼠标在对象上事件

$(document).ready(function(){

$(“#button”).hover(function(){

鼠标在上事件;

},function(){

鼠标离开事件;

});

});

五、DOM操作

19)给文档对象添加属性

$(document).ready(function(){

$(‘div.chapter a’).each(function(index){

$(this).attr({

‘rel’:’external’,

‘id’:’link_’+index

});

});

});

给文档中class为chapter的div中的每个链接添加rel属性值为external,并添加ID属性值为’link_’+index

alert($("#test").href()); :显示ID为test的链接

$("#test").href("2.html"); :修改ID为Test的链接

同理,jQuery还提供类似的其他方法,大家可以分别试验一下:

herf() herf(val) html() html(val) id() id (val) name() name (val)

rel() rel (val) src() src (val) title() title (val) val() val(val)

20)得到对象的属性

$("#test").attr(“name”)

21)在页面中插入HTML元素

$(document).ready(function(){

$(‘回到顶部’).insertAfter(‘div.chapter p’);

});

在div.chapter p之后插入‘回到顶部’,下面的代码与上面功能相同。$(document).ready(function(){

$(‘div.chapter p’).after(‘回到顶部’);

});

.insertBefore()和.before()和上面用法相同。

append(html)在匹配元素内部,且末尾插入指定html

$("

Hello

").appendTo("body");

:向body中添加“

Hello

clone() 复制一个jQuery对象

after

jQuery

jQuery代码及功能:

function jq(){

$("#test").clone().appendTo($("a"));

}

复制$("#test")然后插入到后,执行后相当于

after

jQuery

after

empty() 删除匹配对象的所有子节点

span

after

jQuery

jQuery代码及功能:

function jq(){

$("#test").empty();

}

执行后相当于

jQuery

remove() 删除匹配对象

注意区分empty(),empty()移出匹配对象的子节点,remove(),移出匹配对象prepend (html) 在匹配元素的内部且开始出插入

通过下面例子区分append(elem) appendTo(expr) prepend (elem)

p

div

执行$("#a").append($("div")) 后相当于

P

div

执行$("#a").appendTo($("div")) 后相当于

div

p

执行$("#a").prepend ($("div")) 后相当于

div

P

wrap(htm) 将匹配对象包含在给出的html代码内

Test Paragraph.

jQuery jQuery代码及功能:

function jq(){

$("p").wrap("

");

}

执行后相当于

Test Paragraph.

22)判断复选框是否选择

var$cr=$("cr");

$cr.click(function(){

if($cr.is(":checked")){

alert("已经选择复选框");

}

});

六、Javascript处理

23)判断浏览器类型

$(function(){

if($.browser.msie) {

alert("这是一个IE浏览器");}

else if($.browser.opera) {

alert("这是一个opera浏览器");}

})

当页面载入式判断浏览器类型,可判断的类型有msie、mozilla、opera、safari 24)$.each(obj, fn)

obj为对象或数组,fn为在obj上依次执行的函数,注意区分$().each()

$.each( [0,1,2], function(i){ alert( "Item #" + i + ": " + this ); });

分别将0,1,2为参数,传入到function(i)中

25)$.trim(str) 移出字符串两端的空格

$.trim(" hello, how are you? ")的结果是"hello, how are you?"

七、动态效果

hide()隐藏匹配对象

Hello Again

jQuery

当点击连接时,id为a的对象的display变为none。

show()显示匹配对象

hide(speed)以一定的速度隐藏匹配对象,其大小(长宽)和透明度都逐渐变化到0,speed有3级("slow", "normal", "fast"),也可以是自定义的速度。

show(speed)以一定的速度显示匹配对象,其大小(长宽)和透明度都由0逐渐变化到正常

hide(speed, callback) show(speed, callback)当显示和隐藏变化结束后执行函数callback

toggle() toggle(speed)如果当前匹配对象隐藏,则显示他们,如果当前是显示的,就隐藏,toggle(speed),其大小(长宽)和透明度都随之逐渐变化。

jQuery

fadeIn(speeds) fadeOut(speeds)根据速度调整透明度来显示或隐藏匹配对象,注意有别于hide(speed)和show(speed),fadeIn和fadeOut都只调整透明度,不调整大小

jQuery

点击连接后可以看到图片逐渐显示。

fadeIn(speed, callback) fadeOut(speed, callback)callback为函数,先通过调整透明度来显示或隐藏匹配对象,当调整结束后执行callback函数

jQuery

点击连接后可以看到图片逐渐显示,显示完全后弹出对话框

jQuery基础教程第四版 第3章学习笔记

本文由我司收集整编,推荐下载,如有疑问,请与我司联系 jQuery 基础教程第四版第3 章学习笔记 2017/08/30 114 第3 章 3.1 在页面加载后执行任务 3.1.1 代码执行的时机选择①当文档完全下载到浏览器中时,会触发window.onload 事件,意味着页面上的全部元素对于JavaScript 而言都是可以操作的。②通过(document).ready()注册的事件处理程序,则会在DOM 完全就绪并可以使用时调用。意味着所有元素对 脚本而言都是可以访问的,但是,却不意味着所有关联的文件都已经下载完毕。 3.1.2 基于一个页面执行多个脚本①.onload 属性一次只能保存对一个函数的引用,因此不能在现有的基础上再增加新行为。②每次调用(document).ready()方法时都会向内部的行为队列添加一个新函数,当页面加载完成后,所有的函数都会被执行。而且,这些函数会按照注册他们的顺序依次执行。 3.1.3 .ready()的简写形式①(document).ready()结构,实际上是基于document 这个DOM 元素构建而成的jQuery 对象上调用了.ready()方法。②(document).ready(){ //这里是代码……}); 可以简写成:$(function() { //这里是代码……} 3.1.4 向.ready()回调函数中传入参数 3.2 处理简单的事件 3.2.1 简单的样式转换器①在用户单击按钮时执行,需要引入.on()方法。通过这个方法,可以指定任何DOM 事件,并为该事件添加一 种行为。此时,事件是click。eg: (‘#switcher- large’).on(‘click’,function(){});3.2.2 启用其他按钮3.2.3 利用事件处理程序的上下 文①当触发任何事件处理程序时,关键字this 引用的都是携带相应行为的DOM 元素。通过在事件处理程序中使用(this),可以为相应的元素创建jQuery 对象,然后就如同使用CSS 选择符找到该元素一样对它进行操作。 3.2.4 使用事件上下文进一步减少代码上下文关键字this 引用的是DOM 元素,而不是jQuery 对象,因此可以使用原生的DOM 属性来确定被单击元素的ID。 3.2.5 简写的事件 3.2.6 显示和隐藏高级特性jQuery 的toggleClass()方法,能够根据相应的类是否存在而添加或删除类。 3.3 事件传播 3.3.1 事件的旅程①事件捕获:事件首先会交给最外层的元素,接着再交给更具体的元素。

jQuery学习笔记

第一章 一、$(document).ready(function(){ //do something }); 和window.onload的区别 1.前者同一页面可以使用多次,后者出现多次只有最后一次能正确显示 2.前者在DOM模型加载完成后就开始执行,后台在所有元素(包括图片)加载完成 后执行 3.前者可以简化为$(function(){ //do something }); 后者没有简写形式。 二、jQuery比较常使用的是链式操作,比如一个书目导航条: $(function(){ $(“ul”).click(function(){ $(this).addClass(“current”).children(“li”).slideDown().end().sublings().removeClass (“current”).children(“li”).slideUp(); }) }) 对于同一元素不超过3个操作的,一般写同一行,如果操作过多,可以将类似的操纵写成一行,便于阅读。 三、jQuery对象和DOM对象的转换 1.jQuery转化为DOM对象 Var $variable = $(“tr”); //jQuery object Var variable = $variable[0]; //DOM object The transpartent method. DomObject = jQueryObject[index] or = jQueryObject.get(index). 2.DOM Object To jQuery Object Var variable = getElementsByTagName(“tr”); //DOM object Var $variable = $(variable) // jQuery object; The transpartent method. jQueryObject = $(DomObject) 四、jQuery开发工具 1.Dreamweaver 可以安装插件提示jQuery 插件名称:jQuery_API.mxp 2.Aptana 功能非常强大的、开源、专注javascript和Ajax开发IDE; 3.Visual Studio 2008。想要安装插件之后才能提示jQuery

HTML5CSS3实战笔记

HTML5+CSS3响应式布局笔记 第一章:HTML5,CSS3响应式布局入门 响应式布局:流式设计,弹性布局... 指针对任一设备对网页内容进行完美布局的一种显示机制。 视口:指浏览器窗口内的内容区域,不包含工具栏,标签栏等。 CSS3是在CSS2基础上按模块构建的,以CSS2.1标准为核心。 实现响应式设计的关键技术是CSS3—媒体查询。 响应式布局的条件:CSS3的媒体查询,流动布局。 原则:让设计在多平台多视口的情况下保留尽可能多的内容,而不是使用display:none隐藏它。 可以通过调整标签的先后顺序来显示大小屏内容顺序问题。 第二章:媒体查询,支持不同的视口 html4中的媒体查询: 加载CSS的四种方法:行内,内链,外链,import。其中import会增加css请求,影响速度。@import url(“phone.css”) screen and (max-width: 媒体查询可以检测到如下特性,但最常用的是视口宽度(width)和屏幕宽度(device-width): width:视口宽度。 height:视口高度。 device-width:屏幕宽度。 device-height:屏幕高度。 orientation:检查设备处于横向还是纵向。 aspect-ratio:基于视口宽度和高度的宽高比。如16:9写为aspect-ratio:16/9. device-aspect-ratio:设备屏幕的高宽比。 color:每种颜色的位数。例如min-color:16会检测设备是否拥有16位颜色。 color-index:设备的颜色索引表中的颜色数。值为非负整数。 monochrome:检测单色帧缓冲区中每像素所使用的位数。值为非负整数,比如 monochrome:2。 resolution:用来检测屏幕或打印机的分辨率。如min-resolution:300dpi或 min-resolution:300dpcm。 scan:电视机的扫描方式,值可设为progressive(逐行扫描)或interlace(隔行扫描)。 grid:用来检测输出设备是网格设备还是位图设备。 以上除了scan和grid都可以使用min,max创建一个查询范围。 Respond.js(https://https://www.doczj.com/doc/9e12844456.html,/scottjehl/Respond)是为Internet Explorer 8 及更低版本增加媒体查询支持的最快的JavaScript 工具,但它目前无法解析CSS 的@import

黑马程序员WEB04-JQuery篇笔记

第4章WEB04- JQuery篇 1.1使用JQuery完成定时弹出广告:1.1.1需求: 之前使用的JS的方式完成定时弹出广告,现在使用JQuery完成同样的效果: 1.1.2分析 1.1. 2.1技术分析: 【JQuery的概述】 什么是JQuery: JQuery是一个JS的框架(JS的类库).对传统的JS进行了封装. 现在企业的开发中往往不会使用传统的JS进行开发,通常都会使用JS框架进行开发. JS的常用的框架:

JQuery,ExtJS,DWR,Prototype... JQ的使用: 学习JQuery的语法. 【JQuery的入门】 引入Jquery的js文件. JQuery的入口函数: // 传统的JS的方式:页面加载的事件只能执行一次. /*window.onload = function(){ alert("aaa"); } window.onload = function(){ alert("bbb"); }*/ // JQuery的方式:相当于页面加载的事件,可以执行多次.效率比window.onload要高. // window.onload 等页面加载完成后执行该方法. // $(function(){}):等页面的DOM树绘制完成后进行执行. // $相当于JQuery $(function(){ alert("aaa"); }); $(function(){ alert("bbb"); }); 【JS对象和JQ对象的转换】 window.onload = function(){ // 传统JS方式: var d1 = document.getElementById("d1"); // JS对象的属性和方法: // d1.innerHTML = "JS对象的属性"; // d1.html("aaaaaa"); // 将JS对象转成JQ的对象. $(d1).html("JS对象转成JQ对象"); } $(function(){ var $d1 = $("#d1"); // $d1.html("JQ对象的属性"); // 转成JS的对象:

easyUI学习笔记

esayUI 前端开发:企业中java工程师,大多不擅于HTML+CSS 网页布局设计,门户网站(由前端工程师设计),企业内部应用软件(java工程师,选择前端UI框架ExtJS 、Flex 、Easy UI ) ---------------------- Easy UI 学习成本非常低 easyui 最新版本1.3.4,bos开发使用1.3.2版本 ExtJS 2.x 免费,3.x 开始收费 Easy ui 1.2.3版本开始收费 问题:为什么你不用ExtJS ? easy ui 学习成本低,很容易在项目中集成使用,ExtJS 学习成本高昂 EasyUI+tutorial.CHM 官方demo例子 jQuery_EasyUI.doc demo例子 EasyUI-API+1.3.2.chm 中文api jquery.EasyUI-1.3.1+API.chm 英文api jquery-easyui-1.3.2.zip 框架开发包 目录结构分析 demo 示例 locale 国际化信息文件(默认英文提示信息)

plugins 框架功能js文件 src 源码 themes 主题样式 自带5套主题,icons 图标文件 easyloader.js 核心加载器(加载plugins 功能js) jquery-1.8.0.min.js jquery开发js文件 jquery.easyui.min.js easy ui 框架功能js合集 jquery.easyui.min.js == easyloader.js + plugins/* 1.如何在页面中使用easy ui ? 引入四个文件 2、学习使用easy ui 布局功能 layout 布局控件使用 将body、div 分成东西南北中,五个部分

北部
//页面图标样式

//jquery easyui主要的js 列表展示数据 代码如下:

编号 卡名 密码

常见WEB安全漏洞及整改建议

常见WEB安全漏洞及整改建议 1. HTML表单没有CSRF保护 1.1 问题描述: CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。 CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账……造成的问题包括:个人隐私泄露以及财产安全。 1.2 整改建议: CSRF的防御可以从服务端和客户端两方面着手,防御效果是从服务端着手效果比较好,现在一般的CSRF防御也都在服务端进行。有以下三种方法: (1).Cookie Hashing(所有表单都包含同一个伪随机值): (2).验证码 (3).One-Time Tokens(不同的表单包含一个不同的伪随机值) 1.3 案例: 1.服务端进行CSRF防御 服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数。 1.3.1 Cookie Hashing(所有表单都包含同一个伪随机值): 这可能是最简单的解决方案了,因为攻击者不能获得第三方的Cookie(理论上),所以表单中的数据也就构造失败.

//构造加密的Cookie信息 $value = “DefenseSCRF”; setcookie(”cookie”, $value, time()+3600); ?> 在表单里增加Hash值,以认证这确实是用户发送的请求。 $hash = md5($_COOKIE['cookie']); ?> ”> 然后在服务器端进行Hash值验证 if(isset($_POST['check'])) { $hash = md5($_COOKIE['cookie']); if($_POST['check'] == $hash) { doJob(); } else {

jquery如何进行表单验证样例

JQuery笔记-表单验证大全

jquery.validate.js 是 jquery 旗下的一个验证插件,借助 jquery 的优势,我们可以迅速验证一些常见的输入 , 并且可以自己扩充自己的验证方法。 举个例子,有这么一个表单: view plaincopy to clipboardprint?

Validating a complete form
Validating a complete form

测试工程师的成长经历

测试工程师的成长经历 还是从我刚入行的时候说起吧,当时是经过朋友介绍的,那个时候一点测试技术基础 都没有,连最简单的测试用例包含哪些内容都不知道,更不知道怎么写测试用例,恰巧当 时我的职位是自动化测试工程师而不是功能测试工程师,当时是一位前辈带着我写自动化 测试脚本,就是按照别人写好的测试用例来写自动化测试脚本,对于当时没有任何测试经 验的我根本不知道自动化测试能带来什么?为什么要做自动化测试,只知道公司要,领导 要做就跟着做。 后来因为公司动荡,就到了我现在的公司。到了现在的公司之后,领导让我写测试用例,可是我从来没有写过,根本不会写(但是会写自动化测试),根本不知道从哪里下手,网上搜索的东西也了解皮毛,没办法结合实际产品内容,所有的专业术语也不太懂,测试 也不知道如何开展,最后只好写了一版非常不合格的测试用例给了领导,还好领导人比较 好并没有责难我。接下里的工作部分是功能测试,部分是写自动化测试脚本。对于功能测 试可是真心不知道如何测试,也不知道怎么写测试用例,公司也没有系统的测试用例模板,我的做法就是按照功能使用的场景和目的去测试,然后顺便想想异常的情况,每个功能都 认认真真的对待,我一边测试一遍结合网上搜索的测试技术应用到实际场景,然后一边思 考这个功能到底给用户带来什么,用户会怎样使用,我就模仿着去做,发现问题开发会到 我那边调试,这个时候是最佳的学习机会,他们敲的命令我会悄悄的记住(不会的我就网 上去搜索),他们排查问题的方法我会默默的事后尝试着去做,发现问题的时候我会仔细 的总结,为什么会出现,什么情况下会出现,如何避免下次出现,就这样我不停的总结, 慢慢的发现测试也没有那么难,测试用例已经不是问题了,可是这远远不够的,还有很多 不懂的。 工作过程中经常涉及到环境部署,服务进程重启的这些工作,Linux下面的操作,Mysql的使用,还有我们当时用的是Python语言以前没有接触过(之前写自动化用的Ruby),还有缺乏一些网络协议相关知识,我就给自己定一个计划,一个个的去学,这期间我自学了一些网络协议相关的东西,并学了Html,CSS,JS,jQuery,Python,Linux 下的常用命令,学了Mysql常用语句,将vim也系统的学习过(这个太好用了,linux下面用的不要太熟练哈),然后平时我领导做部署相关工作的时候,我就尽可能的看着,学 习着,总结着,然后我自己尝试部署一套我们的测试环境,尝试着修改同事提交的代码, 我尝试着帮开发排查问题,查log准确定位等。当时软件这边一直跑持续集成,领导让我部署hudson环境,顺道也学习一下UT,这样又学到了好多东西,我发现很多技术只有 你去用,去实践才会更好的掌握,如果只是单纯的学习一些不常用的东西,后来也就慢慢 的遗忘了。 对员工来说,对公司的产品有个深刻的了解是相当重要的,对于产品的业务逻辑要思 路清晰,逻辑清晰,这些清楚了,就是你在公司内积攒的经验,对于迭代的产品,这点尤 其重要。这是在公司内部发展的必要条件,其次就是技术能力加上各种综合经验和做事方

甘特图-讲师手册

图形化项目管理技术 —甘特图

图形化项目管理 技术—甘特图 生命人寿苏州分公司人力资源部2014年10月 Contents Gantt chart “甘特图”的简介“甘特图”的构成和展示“甘特图”的制作“甘特图”的应用 01020304 图形化项目管理技术—甘特图

甘特图(Gantt chart )又叫横道图、条状图(Bar chart)。它是以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。 它是在第一次世界大战时期发明的,以亨利·L·甘特先生的名字命名,他制定了一个完整地用条形图表进度的标志系统。由于甘特图形象简单,在简单、 短期的项目中,甘特图都得到了最广泛的运用。 什么是“甘特图”? 01-1 甘特图包含以下三个含义:1、以图形或表格的形式显示活动; 2、一种通用的显示进度的方法; 3、构造时应包括实际日历天和持续时间,并且不要将周末和节假日算在进度之内。 甘特图具有简单、醒目和便于编制等特点,在企业管理工作中被广泛应用。甘特图按反映的内容不同,可分为计划图表、负荷图表、机器闲置图表、人员闲置图表和进度表等五种形式。 含义 01-2

亨利·劳伦斯·甘特是泰勒创立和推广科学管理制度的亲密的合作者,也是科学管理运动的先驱者之一。甘特非常重视工业中人的因素,因此他也是人际关系理论的先驱者之一。其对科学管理理论的重要贡献: 1、提出了任务和奖金制度。 2、强调对工人进行教育的重要性,重视人的因素在科学管理中的作用。——其在科学管理运动先驱中最早注 意到人的因素;“工业的习惯” 3、制定了甘特图——生产计划进度图(是当时管理思想的一次革命) 发明人 01-3

java图片上传并预览,前台用jQuery插件AjaxFileUpload,后台用FileUtils.copyFile.

本文由我司收集整编,推荐下载,如有疑问,请与我司联系java 图片上传并预览,前台用jQuery 插件AjaxFileUpload,后台用 FileUtils.copyFile. 2015/01/05 0 个人笔记,以备后用. 表体代码: td colspan= 3 s:file label= 上传name= uploadFile id= uploadNumFile onchange= fileUpload( uploadNumFile , goodsRecordDtl_goodsPicture , goodsPicture_img ) / a href= # title= 查看quot;viewPic( viewPicture1 , goodsPicture , goodsRecordDtl_goodsPicture 查看图片/a div id= viewPicture1 title= 图片预览> img id= goodsPicture src= /div /td js 代码(记得要引入jquery 库和ajaxfileupload 库): //上传文件id 号function fileUpload(uploadFileId,filePathId,imgId){ var imp= document.getElementById(uploadFileId); if(imp==null ||imp== ||imp== undefined){ alert( 请选择文件return; } $.ajaxFileUpload({ url:ct + uploadFile.do , secureuri:false, fileElementId:uploadFileId, dataType: multipart/form-data , success: function (data, status){ var json = eval( ( + data + ) if(json.msg== 1 ){ alert( 上传成功$( # +filePathId).val(json.path); $( # +imgId).attr( src ,eTrade.ctx+ /upload/ +json.path); }else{ alert( 文件上传失败} }, error: function (data, status, e){ alert(e); } }); } function viewPic(dialogId,imgId,fileId){ $( # +dialogId).dialog({ height: 350, width: 600, buttons: { 取消: function() { $( # +imgId).attr( src , $(this).dialog( close } }, close:function(){ $( # +imgId).attr( src , } }); if($( # +fileId).val()== ){ return; } $( # +imgId).attr( src ,ct+ /toView.do?attachment= +$( # +fileId).val()); } 后台代码(uploadFile 命名必须与前台name= uploadFile 一致): private File uploadFile; public File getUploadFile() { return uploadFile; } public void setUploadFile(File uploadFile) { this.uploadFile = uploadFile; } @Action(value = uploadFile , results = { @Result(name = success , type = json , params = { ignoreHierarchy , false , contentType , text/html , root , dataMap }) }) public String

第1章--jQuery课堂笔记(12-10-23)

第一章认识jQuery 5种JS库-1-jQuery简介-1-jQuery的优势-1-jQuery代码规范-jQuery对象与DOM对象-2-jQuery对象与DOM-3-解决jQuery(--- ---))-3- 5种JS库 (1)prototype js 缺点:从整体上对于面向对象的思想编程把握不 (2)Dojo其强大之处在于Dojo提供了很多其它的js库没有提供的功能。例如离线存储的API最严重的就是API (3)YUI-->Yahoo公司开发的完备的、扩展性良好的富交互网页程序工具集。提供了DOM操作和Ajax应用,文档极其完备,代码编写规范。 (4)ExtJS-->Ext是对YUI的扩展,主要用于创建前端用户界面,它利用jQuery和js框架作为基础库,自身则作为界面的扩展库来使用。优点:用来开发富有华丽外观的富客户端应用,使B/S更具活力。缺陷:由于侧重于界面,本身比较臃肿,而且新版本并非免费。(5)jQuery-->jQuery是一个轻量级的库,拥有强大的选择器,出色的DOM操作,可靠地事件处理,完善的兼容性和链式操作。 jQuery简介

jQuery由John Resig创建于2006年1月的开源项目。它是继prototype后的又一个优秀的js库。 jQuery凭借着简洁的语法和跨平台的兼容性,极大的简化了js开发人员遍历html文档操作dom,处理事件,执行动画,和开发Ajax。 它独特而又优雅的代码风格改变了js程序员的设计思路和编写程序的方式。 jQuery的优势 jQuery强调的理念是:写得少,做得多<==>Write less,Do more. 优势:⒈轻量级---jQuery经过压缩非常轻巧。 ⒉强大的选择器---CSS1~CSS3,jQuery独创,Xpath,自定义选择器都可以。 DOM M操作,使用方便。 ⒊出色的DOM操作的封装---jQuer jQuery y封装了大量常用的DO ⒋可靠的事件处理机制---体现在预留退路,循序渐进,非入侵式编程思想方面。 ⒌完善的Ajax处理---$ajax(),使开发者专心处理业务逻辑,不用关心兼容性。 ⒍不污染顶级变量---使jQuery与其它js库共存,无需考虑后期可能的冲突。 ⒎出色的浏览器兼容---浏览器的兼容是一个流行的库的必备条件。 ⒏链式操作方式---直接连写无需重复获取对象,使jQuery代码更优雅。 ⒐隐式迭代---无需循环遍历每一个返回的元素,大幅度减少代码量。 ⒑行为层与结构层分离---摆脱开发冲突,后期维护方便。 ⒒丰富的插件机制---体现了jQuery的易扩展性。 ⒓文档完善且是开源的---任何人都可以自由使用并提出改进意见。 jQuery代码规范 A.对于同一个对象,一般不超过3个连接就写一行。 B.对于同一个对象,每一个操作就是一行。 C.对于多个对象的少量操作,可以每个对象写一行,如果涉及子元素,可以考虑适当 缩进一行。 D.为代码添加注释,有利于日后维护,合作开发。 jQuery对象与DOM对象

JQuery笔记(表单验证)

JQuery笔记(表单验证)

jquery.validate.js 是 jquery 旗下的一个验证插件,借助 jquery 的优势,我们可以迅速验证一些常见的输入 , 并且可以自己扩充自己的验证方法。 举个例子,有这么一个表单: view plaincopy to clipboardprint?

Validating a complete form
Validating a complete form

bos06_课堂笔记

BOS 物流管理系统第六天定区管理 今天内容安排: 1、添加定区功能 定区关联分区、取派员 2、定区条件分页查询 form请求数据json转换、Spring Data Specification 实现条件查询 3、定区关联客户(重点) BOS系统和CRM 系统远程调用WebService CXF 1.任务一:定区管理添加功能 业务: 什么是定区?固定配送、物流管理区域 添加定区业务实现说明: 1: 添加定区页面回显取派员(q mode:remote) 2: 添加定区页面: 显示未关联分区信息 3: 添加定区业务: 定区表添加一条记录分区表循环更新定区表在分区表外键! update 4: 定区编号唯一(ajax唯一性校验) 修改定区实体类注册策略 定区是分区的集合、定区需要指定多名取派员负责(多名取派员换班依赖排班功能---- 收派时间管理) 系统简化设计,一个定区只关联一个取派员 分析页面,定区要去关联取派员、关联分区数据

1.1.取派员下拉列表 在StaffAction 添加ajaxlist 方法 Service 获取取派员在职非作废! DAO 代码

1.2.分区datagrid 表格显示 定区关联分区,显示未关联定区的分区列表 在SubareaAction 添加查询方法 DAO 代码 Service 代码 Action 代码

测试页面回显数据! 解决延迟加载问题: 添加定区存在问题:? 提交数据id 冲突

1.3.添加定区实现 1.3.1.解决定区编号和分区编号提交name冲突完善decidedzone.jsp的添加定区form 定区实体类采用手动指定id的方式 点击添加form中save按钮,提交form (验证功能) 问题:分区datagrid 勾选分区编号,会不会随form 提交???

黑马程序员JavaEE就业班同步笔记Web前端技术:JQuery与BootStrap框架

黑马程序员JavaEE就业班同步笔记Web前端技术:JQuery 与BootStrap框架 JQuery: * JQuery的概述:是一个轻量级的JavaScript的类库.对JS进行封装. * 常见的JS的框架: * JQuery,ExtJS,DWR,Prototype... * JQuery的使用: * 引入JQuery的JS. * window.onload和$(document).ready(function(){});区别? * onload页面加载完成后才会执行.执行一次 * ready在页面的DOM树绘制完成就会执行.执行多次. * JS对象与JQuery对象的转换. * JS-->JQuery: $(JS的对象) * JQuery-->JS: JQ对象.get(0), JQ对象[0] * JQuery的选择器:(*****) * 基本选择器: * ID选择器,类选择器,元素选择器,通配符选择器,选择器并列. * 层级选择器: * 空格,> ,+ ,~ * 过滤:

* :first,:last,:eq(),:even,:odd... * 属性选择器: * [属性名],[属性名=’属性值’]... * 表单选择器: * :input,:text,:password,:radio... * 可见性: * * 表单对象属性: * :checked,:selected,:enable,:disable * JQuery实现效果: * show(),hide(),slideDown(),slideUp(),fadeIn(),fadeOut(),animate() * JQuery样式操作: * css(); * JQuery属性操作的方法: * attr(),removeAttr(),prop(),removeProp(),html(),text(),val(),addClass(),removeClass() * JQuery文档处理: * append(),appendT o(),insertBefore(),insertAfter(),remove(),clone(),replaceAll() * JQuery的事件: * click(),change(),submit(),dblclick(),keyUp(),keyDown()... * toggler(),hover() ---进行事件的切换.

JqueryMobile学习笔记

JqueryMobile笔记 1、页面是使用Div设计,Div相应属性 ?data-role="page" 是显示在浏览器中的页面 ?data-role="header" 创建页面上方的工具栏(常用于标题和搜索按钮) ?data-role="content" 定义页面的内容,比如文本、图像、表单和按钮,等等 ?data-role="footer" 创建页面底部的工具栏 ?把页面设计为对话框来显示:data-rel =”dialong” 2、响应事件 on() 方法绑定事件。 事件描述 hashchange 启用可标记 #hash 历史,哈希值会在一次独立的点击时发生时变化,比如一个用户点击后退按钮,会通过 hashchange 事件进行处理。 navigate 包裹了 hashchange 和 popstate 的事件orientationchange 方向改变事件,在用户垂直或者水平旋转移动设备时触发。 pagebeforechange 在页面切换之前,触发的事件。使用$.mobile.changePage()来切换页面,此方法触发2个事件,切换之前的pagebeforechange事件,和切换完成后pagechange(成功)或者pagechangefailed(失败)。 pagebeforecreate 页面初始化时,初始化之前触发。pagebeforehide 在页面切换后旧页面隐藏之前,触发的事件。pagebeforeload 在加载请求发出之前触发 pagebeforeshow 在页面切换后显示之前,触发的事件。 pagechange 在页面切换成功后,触发的事件。使用 $.mobile.changePage()来切换页面,此方法触发2个事件,切换之前的pagebeforechange事件,和切换完成后pagechange(成功)或者pagechangefailed(失败)。 pagechangefailed 在页面切换失败时,触发的事件。使用 $.mobile.changePage()来切换页面,此方法触发2个事件,切换之前的pagebeforechange事件,和切换完成后pagechange(成功)或者pagechangefailed(失败)。 pagecreate 在页面创建成功之后,触发的事件,但增强完成之前。pagehide 在页面切换后老页面隐藏之后,触发的事件。pageinit 在页面页面初始化时,触发的事件。 pageload 在页面完全加载成功后触发。 pageloadfailed 如果页面请求失败触发。 pageremove 在窗口视图从 DOM 中移除外部页面之前触发。pageshow 在过渡动画完成后,在"到达"页面触发。

JQuery学习笔记

JQuery学习笔记1基本语法 在id选择器中,需要加上#号 script 中有src属性则不能再标签体重写代码 1.1dom对象与jquery的转换 $底层采用数组存放数据,故$value[0],取出数据,既是dom对象$对象提供get()方法,取出dom对象,get(0)为第一个数据

1.2页面加载 2选择器 2.1基本选择器 2.1.1I d选择器 通过标签中id的值,获取$对象

2.1.2C lass选择器 选中标签中有相应class属性的元素 2.1.3标签选择器 根据标签获取对象数组 2.1.4多选择器 将多个选择器存放在数组中 2.1.5*选择器 选中所有对象

2.2标签层级 $(“A B”),获得A元素内部所有的B元素 $(“A>B”),获得A元素内部的所有子元素B $(“A+B”),获得A元素后面的第一个B元素 $(“A~B”),获得A元素后面的所有B元素 2.3属性 1,[attr],获得含有指定属性名的元素

2,[attr=value],获得含有指定属性名等于指定值得元素 3,[attr!=value],与2相反,没有attr属性的元素也将被选中 4,[attr^=value],获得属性名以value开头的元素, 5,[attr$=value],获得属性名以value结尾的元素 6,[attr*=value],获得属性名中含有value的元素 7,[attr1] [attr2] [attr3]……,多个条件同时成立

2.4 过滤 2.4.1 基本选择器过滤 2.4.1.1 基本内容 格式:“:关键字” 1, :first ,得到$数组的[0]个对象 2, :last ,得到最后一个对象 3, :eq(index),根据索引得到对象 4, :gt(index) ,大于

相关主题
文本预览