DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
| 特性/方法 | 类型/返回类型 | 说明 | 
| nodeName | String | 节点的名字;根据节点的类型而定义 | 
| nodeValue | String | 节点的值;根据节点的类型而定义 | 
| nodeType | Number | 节点的类型常量值之一 | 
| ownerDocument | Document | 指向这个节点所属的文档 | 
| firstChild | Node | 指向在childNodes列表中的第一个节点 | 
| lastChild | Node | 指向在childNodes列表中的最后一个节点 | 
| childNodes | NodeList | 所有子节点的列表 | 
| previousSibling | Node | 指向前一个兄弟节点;如果这个节点就是第一个兄弟节点,那么该值为null | 
| nextSibling | Node | 指向后一个兄弟节点;如果这个节点就是最后一个兄弟节点,那么该值为null | 
| hasChildNodes() | Boolean | 当childNodes包含一个或多个节点时,返回真 | 
| attributes | NamedNodeMap | 包含了代表一个元素的特性的Attr对象;仅用于Element节点 | 
| appendChild(node) | Node | 将node添加到childNodes的末尾 | 
| removeChild(node) | Node | 从childNodes中删除node | 
| replaceChild(newnode,oldnode) | Node | 将childNodes中的oldnode替换成newnode | 
| insertBefore(newnode,refnode) | Node | 在childNodes中的refnode之前插入newnodd | 
| 元素节点 | 节点类型取值(nodeType) | 
|---|---|
| 元素element | 1 | 
| 属性attr | 2 | 
| 文本text | 3 | 
| 注释comments | 8 | 
| 文档document | 9 | 
var xmlhttp;
function loadXMLDoc(url)
{
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");
  }
if (xmlhttp!=null)
  {
  xmlhttp.onreadystatechange=state_Change;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  }
else
  {
  alert("Your browser does not support XMLHTTP.");
  }
}
function state_Change()
{
if (xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (xmlhttp.status==200)
    {// 200 = OK
    // ...our code here...
    }
  else
    {
    alert("Problem retrieving XML data");
    }
  }
}
XMLHTTP 的 readyState 值含义:
获取元素 位置 大小
原文:http://www.cnblogs.com/duidui/p/4827572.html