DOM 节点操作

  DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口)。

一、浏览器把HTML解析成文档树,文档树是一个以document为根节点的,由一个个节点组成的树。

二、节点可以主要分为以下类型:

    元素节点.nodeType==ELEMENT_NODE(1);

    属性节点.nodeType==ATTRIBUTE_NODE(2);

    文本节点.nodeType==TEXT_NODE(3);

  nodeType是每个节点的属性,表明节点的类型。

三、节点的属性

  nodeName和nodeValue

if(someNode.nodeType == 1){
    name=someNode.nodeName;    //nodeName的值是元素的标签名
    value=someNode.nodeValue;  //对元素节点,nodeValue的值始终为null             
}

四、节点关系

  .childNodes

  var nodes=someNode.childNodes  nodes是一个类似数组的对象,但并不是数组,其是一个动态集合,随着文档节点的变化而变化。

把nodes转换成数组的方法:

function convertToArray(nodes){
    var array=new Array();
    try{
        array=Array.prototype.slice.calll(nodes,0);  //对IE8及之下没有作用    
    }catch(ex){
        for(var i=0;i<nodes.length;i++){
            array.push(nodes[i]);
        }
    } 
    return  array;        
}

  .parentNode

  .firstChild

  .lastChild

  .prviousSibling

  .nextSibling

if (someNode.nextSlibling===null){
  alert("Last node in the parent's childNodes list");
}
if (someNode.previousSlibling===null){
  alert("First node in the parent's childNodes list");
}

  元素节点的遍历(不支持低版本IE)(可编写代码兼容)

  node.firstElementChild

    .lastElementChild

    .nextElementSibling

    .previousElementSibling

五、节点操作

.appendChild  .createChild  .removeChild  .innerHTML

 

posted @ 2015-12-19 17:49  myherodream  阅读(161)  评论(0编辑  收藏  举报