一、javaScript
1.创建对象
method1:
var person = new Object();
person.name = "Nicholas";
person.age = 29;
person.job = "Software Engineer";
person.sayName = function(){
alert(this.name);
};
method2:
var person = {
name: "Nicholas",
age: 29,
job: "Software Engineer",
sayName: function(){
alert(this.name);
}
};
二、jQuery
jQuery代码的使用方式(能同时编写多个,结果两次都输出): method1: $(document).ready( function(){ alert("Hello World!"); }); $(document).ready( function(){ alert("Hello Again!"); }); method2:(简写) $(function(){
alert("Hello World!");
});
1.jQuery中的DOM操作(page 66)
jQuery对象就是通过jQuery包装DOM对象后产生的对象,在jQuery对象中无法使用DOM对象的任何方法。
定义变量的风格: var $variable = jQuery 对象,var variable = DOM对象
将jQuery对象转成DOM对象的的两种处理方式:
数组形式—— var $cr=$("#cr"); var cr = $cr[0];
jQuery本身的get方法—— var $cr=$("#cr"); var cr = $cr.get(0);
将DOM对象转成jQuery对象:只需要用$()将DOM对象进行包装
var cr = document.getElementById("cr");
var $cr=$(cr);
1)val()—— var name=$("#name").val() 获取id=name的元素的value
2)attr()—— 获取或设置任意属性
3)创建元素节点:var $li_1=$("<li></li>");$("ul").append($li_1);
4)创建文本节点:var $li_1=$("<li>姓名</li>");$("ul").append($li_1);
5)创建属性节点:var $li_1=$("<li title='name'>姓名</li>");$("ul").append($li_1);
6)插入节点:
7)remove():删除所有匹配的元素
8)empty():清空元素中的所有后代节点
9)removeAttr():删除属性
10)addClass():追加样式
11)removeClass():移除样式
12)toggle(method1,method2):切换样式,交替执行method1和method2中的代码
13)toggleClass(classname):交替添加和删除classname的样式
14)hasClass():判断是否含有某个样式
15)html():设置或读取某个元素中的html内容
16)text():读取或者设置某个元素中的文本内容
17)children():获取匹配元素的子元素集合
18)next():取得匹配元素后面紧邻的同辈元素
19)
2.
setInterval(methodname,time)——以指定间隔循环调用方法
setTimeout(functionname,time)——时间段后执行函数
3.jQuery与Ajax
1)$.load(url [, data] [, callback])——载入远程html代码并插入dom中
载入的代码将插入调用load方法的那个元素中,load()方法的传递方式根据参数data来自动指定。如果没有参数传递,则采用GET方式,如果有,则会自动转换为POST方式。
callback回调函数的三个参数:responseText(请求返回的内容),textStatus(请求状态:success,error,notmodified,timeout),XMLHttpRequest对象
2)$.get(url [, data] [, callback] [,type])
回调函数的两个参数:data(返回的内容,可以是xml文档,json文件,HTML片段等),textStatus(请求状态)
$("#send").click(function(){ $.get("get1.php",
{username:$("#username").val(), content:$("#content").val()},
function(data, textStatus){
$("#resText").html(data);
}
);
})
3)$.post()
4)$.ajax()
参数
url:发送请求的地址
type:请求方式,默认为GET
timeout:请求超时时间
data:发送到服务器的数据
dataType:预期服务器返回的数据类型(xml,html,script,json,jsonp,text)
beforeSend:
complete:请求完成后调用的回调函数(成功或失败时均调用)
success:请求成功后调用的回调函数 function(data,textStatus)
error:请求失败时被调用的函数 function(XMLHttpRequest,textStatus,errorThrown)
boolean:默认为true。表示是否触发全局Ajax时间。设置为false将不会触发全局Ajax事件
三、Vecolity
1.获取:
$!(var):如果有值则输出,如果为空,则不显示;
${var}:如果有值则输出,如果为空,则将该代码原样输出;
2.设置:
#set{$var=5}:设置var的值为5;
3. 判断:
#if{! $var}判断var为空
#elseif{$var}判断var不为空
#else{}
#end
4.循环:
循环数组或List时:
#foreach($var in list)
##输出当前迭代的次数
$velocityCount
${var}
#end
5.判断是否为null
1)使用 #ifnull() 或 #ifnotnull()
#ifnull ($foo)
要使用这个特性必须在velocity.properties文件中加入:
userdirective = org.apache.velocity.tools.generic.directive.Ifnull
userdirective = org.apache.velocity.tools.generic.directive.Ifnotnull
2) 使用null工具判断
#if($null.isNull($foo))