dom 节点的操作

元素 :1 属性:2 文本:3
DOM 基本操作
遍历节点树:
1. parentNode 父节点(最顶端的parentNode 为 #document)
2. childNodes[n] 子节点
3. firstChild 第一个子节点
4. lastChild 最后一个子节点
5. nextSibling 后一个兄弟节点 previousSibling 前一个兄弟节点
基于元素节点树的遍历
1. parentElement 返回当前元素的父元素节点(IE不兼容)
2. children 只返回当前元素的元素子节点
3. node.childElementCount === node.children.length 当前元素节点的子元素节点个数(IE不兼容)
4. firstElementChild 返回的是第一个元素节点(IE不兼容)
5. lastElementChild 返回的是最后一个元素节点(IE不兼容)
6. nextElementSibling / previousElementSibling 返回后一个/前一个兄弟元素节点(IE不兼容)

    节点的四个属性:
        1. nodeName:元素的标签名,以大写形式表示,只读 
        2. nodeValue:Text节点或Comment节点的文本内容,可读写
        3. nodeType:该节点的类型,只读
        4. attributes:Element节点的属性集合

    节点的方法:
        1. Node.hasChildNodes();
    
    增:
        document.createElement();               新创建的一个元素节点
        document.createTextNode();              新增加一个文本节点[元素节点的内容]
        document.createComment();               
        document.createDocumentFragment();      文档碎片
        
    插:
        appendChild();               在父节点中中加入创建的新的元素节点  插入的是元素节点  append 插入的是字符串
        insertBefore(new,old);       在父节点点中插入到 .... 前面
    删:
        removeChild();               删除该节点
        child.remove();
        deleteRow                    删除表格
    替换:
        replaceChild(new,old);        替换改节点
    属性:
        innerHTML
        innerText(火狐不兼容)/textContent(老版本IE不好使)
    方法:
        ele.setAttribute()          设置节点属性值(当前节点)
        ele.getAttribute()          获取节点属性值(当前节点)

    克隆:
        cloneNode(true)             克隆节点

        创建属性节点:
          1. 建立一个属性节点
              var attrObj = document.createAttribute('id')
          2. 为属性节点赋值
              attrObj.value = 'box';
          3. 讲属性节点加入至元素节点
              setAttributeNode(attrObj)

你可能感兴趣的:(dom 节点的操作)