DOM(文档对象模型)
节点:文本节点,元素节点,属性节点
获取元素:
document.getElementById("purcha")
document.getElementByTagName("purcha")
document.getElementByClassName("purcha")
获取和设置属性:
获取属性
attributevalue=object.getAttribute(attribute)
设置属性
attributevalue=object.setAttribute(attribute)
事件处理函数
this关键字代表元素节点本身
语法:event="JavaScript statement(s)",如果事件处理函数返回false则表示点击没有被触发
childNodes属性:获取任何一个元素的所有子元素
nodeType属性:表示节点类型,1表示元素节点,2表示属性节点,3表示文本节点
nodeValue属性:用于改变和得到文本节点的值(<p>标签的第一个子节点就是文本节点)
lastChild属性:表示节点的最后一个子节点
firstChild属性:表示节点的第一个子节点
window.open()弹出窗口
基本语法:window.open(pageURL,name,parameters)
pageURL 为子窗口路径
name 为子窗口句柄
parameters 为窗口参数(各参数用逗号分隔)
示例:window.open ('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')
平稳退化 Javascript为协议 新老版本兼容问题
popUp(链接)函数:打开一个新窗口
对象检测:检测对象类型
浏览器嗅探技术:通过提取浏览器供应商的信息来解决向后兼容问题
document.write()方法可以快捷地把字符串插入到文档里,它最大的缺点是违背了“行为
应该与表现分离“的原则。
innterHTML属性用来读、写某些给定元素里的HTML内容。
DOM方法
createElement方法:创建一个新元素,新创建的元素不属于DOM节点树的组成部分,它是
游离与DOM树,但它有象任何节点那样的DOM属性(nodeName属性,nodeType属性)。
语法:document.createElement(nodeName)
appendChild方法:可以使它成为某个节点的子节点。节点添加最后一个子节点。
语法:parent.appendChild(child)
createTextNode方法:创建一个文本节点,和创建的元素节点一样,现在不属于DOM树,
需要将其插入DOM中
语法:document.createTextNode(text)
insertBefore()方法:这个方法将把一个新元素插入到一个现有元素的前面。
parentElement.insertBefore(newElement,targetElement)
parentNode属性表示当前节点的父元素
nextSibling属性:表示当前元素的下一个元素
Ajax
XMLHttpRequest对象,不同的IE版本使用的XMLHTTP对象也不完全相同。一下代码得到XMLHTML
对象。
function getHTPobject() {
XMLHttpRequest = function(){
try{return new ActiveObject("Msxml2.XMLTHHP.6.0");}
catch(e){}
try{return new ActiveObject("Msxml2.XMLTHHP.3.0");}
catch(e){}
try{return new ActiveObject("Msxml2.XMLTHHP");}
catch(e){}
return false;
}
return new XMLHttpRequest();
// body...
}
XMLTHHP对象的方法
open方法,有三个参数,第一个用来指定请求的类型(GET,POST,SEND)。第二个参数表示要访问的文件
,第三个参数用于指定是否是以异步方式发送和处理。
function getNewContent(){
var request=getHTPobject();
if(request){
request.open('GET',"example.txt",true);
request.onreadystaechange=function(){
if(request.readyState==4){
var txt=document.createTextNode(request..resposeText);
}
};
request.send(null);
}else{
alert('sorry')
}
}
访问服务器的内容通过responseText属性,这个属性用于保存文本字符串。另一个属性是responseXML
属性,用于保存Content-Type头部中指定的text/xml的数据,其实是一个DocumentFragment对象,
DocumentFragment节点不属于文档树,继承的parentNode属性总是null。它有一个很实用的特点,
当请求把一个DocumentFragment节点插入文档树时,插入的不是DocumentFragment自身,
而是它的所有子孙节点。这个特性使得DocumentFragment成了占位符,
暂时存放那些一次插入文档的节点。它还有利于实现文档的剪切、复制和粘贴操作。
ajax开发步骤:
ajax核心就是XMLHttpRequest对象.
1.得到XMLHttpRequest对象.(js对象)
在w3school文档中的 xmldom文档中就可以查找到 dom XMLHttpRequest对象.
var xmlhttp=null;
if (window.XMLHttpRequest)
{// code for all new browsers
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// code for IE5 and IE6
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
2.注册回调函数
xmlhttp.onreadystatechange=function(){
};
3.open
只是用于设置请求方式 以及url,它不发送请求.
xmlhttp.open("get","http://localhost/xiangmuming/mouyiservlet");
4.send
它是用于发送请求的。
send(null);null代表没有参数 如果有参数可以写成:"username=tom&password=123"
5.在回调函数中处理数据
5.1.XMLHttpRequest对象有一个属性 readyState
它代表的是XMLHttpRequest对象的状态。(可能的笔试题)
0.代表XMLHttpRequest对象创建
1.open操作
2.send操作
3.接收到了响应数据,但是只有响应头,正文还没有接收。
4.所有http响应接收完成。
5. 2.status
由服务器返回的 HTTP 状态代码,如 200 表示成功
5.3.在回调函数中可以通过以下方式获取服务器返回的数据
1.responseText
2.responseXML
在servlet写要返回浏览器端的数据response.getWriter().write("hello ajax1");response.getWriter().close();
在回调函数中拿到处理的数据
if(xmlhttp.readyState==4&&xmlhttp.status==200){
alert(xmlhttpl.responseText);
}
DOM(文档对象模型)
节点:文本节点,元素节点,属性节点
获取元素:
document.getElementById("purcha")
document.getElementByTagName("purcha")
document.getElementByClassName("purcha")
获取和设置属性:
获取属性
attributevalue=object.getAttribute(attribute)
设置属性
attributevalue=object.setAttribute(attribute)
事件处理函数
this关键字代表元素节点本身
语法:event="JavaScript statement(s)",如果事件处理函数返回false则表示点击没有被触发
childNodes属性:获取任何一个元素的所有子元素
nodeType属性:表示节点类型,1表示元素节点,2表示属性节点,3表示文本节点
nodeValue属性:用于改变和得到文本节点的值(<p>标签的第一个子节点就是文本节点)
lastChild属性:表示节点的最后一个子节点
firstChild属性:表示节点的第一个子节点
window.open()弹出窗口
基本语法:window.open(pageURL,name,parameters)
pageURL 为子窗口路径
name 为子窗口句柄
parameters 为窗口参数(各参数用逗号分隔)
示例:window.open ('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')
平稳退化 Javascript为协议 新老版本兼容问题
popUp(链接)函数:打开一个新窗口
对象检测:检测对象类型
浏览器嗅探技术:通过提取浏览器供应商的信息来解决向后兼容问题
document.write()方法可以快捷地把字符串插入到文档里,它最大的缺点是违背了“行为
应该与表现分离“的原则。
innterHTML属性用来读、写某些给定元素里的HTML内容。
DOM方法
createElement方法:创建一个新元素,新创建的元素不属于DOM节点树的组成部分,它是
游离与DOM树,但它有象任何节点那样的DOM属性(nodeName属性,nodeType属性)。
语法:document.createElement(nodeName)
appendChild方法:可以使它成为某个节点的子节点。节点添加最后一个子节点。
语法:parent.appendChild(child)
createTextNode方法:创建一个文本节点,和创建的元素节点一样,现在不属于DOM树,
需要将其插入DOM中
语法:document.createTextNode(text)
insertBefore()方法:这个方法将把一个新元素插入到一个现有元素的前面。
parentElement.insertBefore(newElement,targetElement)
parentNode属性表示当前节点的父元素
nextSibling属性:表示当前元素的下一个元素
Ajax
XMLHttpRequest对象,不同的IE版本使用的XMLHTTP对象也不完全相同。一下代码得到XMLHTML
对象。
function getHTPobject() {
XMLHttpRequest = function(){
try{return new ActiveObject("Msxml2.XMLTHHP.6.0");}
catch(e){}
try{return new ActiveObject("Msxml2.XMLTHHP.3.0");}
catch(e){}
try{return new ActiveObject("Msxml2.XMLTHHP");}
catch(e){}
return false;
}
return new XMLHttpRequest();
// body...
}
XMLTHHP对象的方法
open方法,有三个参数,第一个用来指定请求的类型(GET,POST,SEND)。第二个参数表示要访问的文件
,第三个参数用于指定是否是以异步方式发送和处理。
function getNewContent(){
var request=getHTPobject();
if(request){
request.open('GET',"example.txt",true);
request.onreadystaechange=function(){
if(request.readyState==4){
var txt=document.createTextNode(request..resposeText);
}
};
request.send(null);
}else{
alert('sorry')
}
}
访问服务器的内容通过responseText属性,这个属性用于保存文本字符串。另一个属性是responseXML
属性,用于保存Content-Type头部中指定的text/xml的数据,其实是一个DocumentFragment对象,
DocumentFragment节点不属于文档树,继承的parentNode属性总是null。它有一个很实用的特点,
当请求把一个DocumentFragment节点插入文档树时,插入的不是DocumentFragment自身,
而是它的所有子孙节点。这个特性使得DocumentFragment成了占位符,
暂时存放那些一次插入文档的节点。它还有利于实现文档的剪切、复制和粘贴操作。
ajax开发步骤:
ajax核心就是XMLHttpRequest对象.
1.得到XMLHttpRequest对象.(js对象)
在w3school文档中的 xmldom文档中就可以查找到 dom XMLHttpRequest对象.
var xmlhttp=null;
if (window.XMLHttpRequest)
{// code for all new browsers
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{// code for IE5 and IE6
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
2.注册回调函数
xmlhttp.onreadystatechange=function(){
};
3.open
只是用于设置请求方式 以及url,它不发送请求.
xmlhttp.open("get","http://localhost/xiangmuming/mouyiservlet");
4.send
它是用于发送请求的。
send(null);null代表没有参数 如果有参数可以写成:"username=tom&password=123"
5.在回调函数中处理数据
5.1.XMLHttpRequest对象有一个属性 readyState
它代表的是XMLHttpRequest对象的状态。(可能的笔试题)
0.代表XMLHttpRequest对象创建
1.open操作
2.send操作
3.接收到了响应数据,但是只有响应头,正文还没有接收。
4.所有http响应接收完成。
5. 2.status
由服务器返回的 HTTP 状态代码,如 200 表示成功
5.3.在回调函数中可以通过以下方式获取服务器返回的数据
1.responseText
2.responseXML
在servlet写要返回浏览器端的数据response.getWriter().write("hello ajax1");response.getWriter().close();
在回调函数中拿到处理的数据
if(xmlhttp.readyState==4&&xmlhttp.status==200){
alert(xmlhttpl.responseText);
}