创建以及定义对象
var user=new Object();
user.firstName="brad";
user.lastName="daylery";
user.getFullName=makeFullName;
function makeFullName(){
return this.firstName+" "+this.lastName;
}
var user2={'firstName':'test','lastName':'testName','getFullName':makeFullName};
//定义对象模式
function User(first,last){
this.first=first;
this.last=last;
this.getFullName=function(){
return this.first+" "+this.last;
}
}
function Userp(first,last){
this.first=first;
this.last=last;
}
//使用原型对象创建,可以给已经创建的对象增加属性
Userp.prototype={
getFullName:function(){
return this.first+" "+this.last;
}
}
var user3=new User('userfirstName','userlastName');
var user4=new Userp('userPro','userlastPro');
document.write(user.getFullName()+user2.getFullName()+" "+user3.getFullName()+user4.getFullName());
对于函数来说,比如makeFullName:代表函数本事,makeFullName():代表函数返回值
DOM对象常用属性与方法
属性/方法 | 描述
parentNode | 父节点
childNode |子节点
click() |点击事件
innerHTML |访问位于元素开始标签和结束标签之间的内容文本.
outerHTML |访问html元素的全部文本,包括标签
value |html元素的value属性
id |html元素的id属性
class |html元素的class属性
style |访问html元素的css属性
getAttribute(attribute) |获取DOM对象的属性值;如obj.getAttribute(“name”),获取对象name属性
setAttribute(attribute) |设置DOM对象属性值;如设置对象和href属性:obj.setAttribute(“href”,”www.baidu.com”);
appendChild(object) |给DOM对象添加子元素;如有一个select元素obj;var o=new Option(“New”,1,false,false);select.appendChild(o);
JQuery常用属性与方法
方法 | 描述
html([newHtml]) |获取对象内部的html文本,如果有newhtml值,那么对象内部文本设置为newHTml
val([newval]) |获取对象的值或将其设置为可选参数newval的值
attr(attribute,[value]) |获取对象属性值获取设置属性值为可选参数value
addClass(class) |在属性class中添加指定的值,从而将css规则应用于对象
css(property,[value]) |获取jQuery对象的css属性的值.如:设置所有对象
click([function]) |获取或设置jquery对象的onclick事件处理程序
height([value]) |获取或者设置DOM元素的高度,如果选取了可选值value,那么将设置对象的高度否则返回对象的高度
width([value]) |获取或者设置DOM的宽度
hide() |隐藏Jquery对象表示的DOM
show() |显示Jquery对象表示的DOM
判断对象为DOM对象还是Jquery对象
判断是否是jquery对象使用if(obj,jquery)判断对象是否具有jquery属性
判断是否是DOM对象使用if(obj,nodeType)判断对象是否具有nodeType属性
Jquery对象与DOM对象之间进行转换
使用get()方法返回jquery对象的js版本
var dom=jquery.get();
将DOM对象包装成Jquery对象:
var jquery=$(dom);
在js中访问Dom对象
1.根据ID查找DOM
var con=document.getElementById(“domID”);
2.根据类名查找DOM
var cons=document.getElementsByClassName(“domID”); //返回一个数组
3.根据标签名查看DOM
var cons=document.getElementsByTagName(“div”);
Jquery选择器
$(selector)
如$("#myElement"):获取id为myElement的DOM对象
对于特殊字符需要使用转义字符如id为:my.Element 获取为$("#my\\.Element")
1.基本选择器:
$("*"):选择所有html元素
$(".class"):根据类选择元素
$("#id"):根据id选择元素
$("element"):根据标签选择元素
$("element1,element2...."):选择多个标签元素,使用逗号分隔
$("element.class"):根据标签和类选择元素
2.属性选择器
$([attr=value]):选择属性为value的元素
例:
$("input[value=0]")选择value为0的所有<input>元素
$([atrr*=value]) :选择属性包含value的属性
例:
$("p[class*=Content]") :选择class属性中包含Content的所有<p>元素
$("attr^=value"):选择属性以value开头的元素
$("imag[src^='icons\\/']"):选择img中src以icons开头的元素
....省略
3.内容选择器:
....
4.层次选择器:
...
5.表单选择器
..
6:可视性选择器
..
7.筛选选择器
..
jquery中each方法:
.each(fuction):可以遍历jquery对象中的所有元素,并且对每个元素执行指定操作
例:
$("p").each(function(idx){ //idx为索引号
$(this).html("this is a paragraph"+idx)
})
jquery中的map方法:方法map也迭代jquery中的每个元素,方法与each类似,但是存在一个不同是:.each返回他的jquery操作对象,而.map返回一个新的jquery对象,其中包含每次迭代返回值
js中有Screen对象,可以通过screen.width;screen.height来获取屏幕尺寸
获取可供网页操作的实际使用区域:
var pageWidth=window.innerWidth;
var pageHeight-window.innnerHeight;
动态添加网页元素
1.js添加网页元素
1.修改html内容
domObj.innerHTML+="<p>this is paragraph 1</p>";
domObj.innerHTML+="<p>this is paragraph 2</p>";
2.添加元素
var newp=createElement("p");
var newt=createTextNode("this is paragraph 1");
newp.append(newt);
domObj.appendChild(newp);
2.使用jquery添加网页元素
1.修改html内容
$("#myDiv").html("<p>this is paragraph 1</p>");
2.添加元素
var newp=$("<p></p>");
newp.html("this is paragraph 1");
$("#myDiv").append(newp);
删除网页中元素:
js通过removeChild方法
jquery通过remove方法;
使用jquery插入元素:
在文档第3个p元素后面插入一个新的段落
$("p:eq(2)").after($("<p>new paragragh </p>"))
在文档第3个p元素前面插入一个段落
$("p:eq(2)").before($("<p>new paragragh </p>"))
切换可视性:
Jquery方式:
例如:div
隐藏元素
$("div").hide(); //隐藏之后不占据空间
$("div").css("opacity","0"); //隐藏之后依旧占据空间
显示元素:
$("div").show();
$("div").css("opacity","1");
js方式:
将元素的style.display设置为none:隐藏元素
设置为"" :显示元素
window对象的一些属性与方法
alert():打开一个对话框,在其中显示一条消息和一个ok按钮
blur();让当前窗口失去焦点
close():关闭当前窗口
confirm();弹出一个确认对话框
open():打开一个新的浏览器窗口
prompt():提示用户输入框
setInterval():每隔n毫秒调用指定函数或者表达式
setTimeout():n毫秒之后调用指定函数或者表达式
例
var timerId=setTimeOut(myTimer,10000); //设置10秒后执行函数myTimer
clearTimeout(timerId); //清楚定时器
interval类似
location对象:location对象让我们访问浏览器的当前地址
location对象的属性与方法
hash |url锚点部分
host |url主机名与端口
href |整个url
pathname |url路径部分
port |服务器端口号
protocol |url协议部分
search |url查询部分
assign(url) |加载指定文档
reload() |重新加载当前文档
replace(url) |用新文档替换当前文档
history对象:
history.go(3):沿着历史记录向前前进3步
history.go(-n):沿着历史记录后退n步
history,back;返回上一步
jquery进行表单验证:
html:
<form id="myForm">
<input type="text" name="emailField" />
</form>
Jquery:
$(doucument).ready(function(){
$("#myForm").validate({ //validate函数是检测表单的函数
emailField:{
required:true,
email:true
}
})
Jquery验证规则以及用途:
debug属性:数据将不会提交,在调试模式下验证表单 debug:true;
规则 | 用途
accept |要求元素包含特定的文件扩展名: accept:”jpg|png|gif”
creditcard |要求元素为有效信用卡号码:creditcard:true
date |要求元素内容为有效的日期 date:true
dateISO|要求元素内容为有效国际(ISO)日期 dateISO:true
digits |要求结果只包含数字 digits:true
email |要求元素的值为有效的邮件地址email:true
equalTo |要求元素的值与另一个元素的值相同: equalTo:”#passwordVerify”
min|要求包含的值不小于指定值:min:10
minlength|要求包含的字符不小于指定长度:minlength:8
max|要求包含的值不大于指定值max:100
maxlength|要求元素包含的字符串不长于指定长度maxlength:12
number|要求包含的是十进制数组 number:true
rangelength|要求包含的字符串长度在指定的范围内 rangelength:[3,9]
remote|执行http的ajax请求,调用服务器端脚本来验证输入值,该脚本返回json响应true或false.在get请求中,以查询字符串的方式将参数名和值传给服务器短脚本. remote:”valildation.php”
required|元素不能为空:required:true
range|元素包含的值必须在指定范围类range:[1,5]
url|元素的内容必须为有效的url
<div>
<form id="formA">
<label>
input a word
</label>
<input type="text" name="word" title="请输入一个长度大于5的字符串">
</form>
</div>
<script type="text/javascript">
$("document").ready(function(){
var vali= $("#formA").validate({
rules:{
word:{required:true,
minlength:5}
}
})
})
</script>