元素节点的获取

 1.dom节点  (document object model        文档对象模型)
  document>documentElement>body>TagName 
  clidNodes (获取子节点列表的集合)  (白话:孩子节点的总数)
  firstchild (第一个节点)
  2.我们常用的节点类型:
  1.元素节点(标签)
  2.属性节点(标签里面的属性)
  3.文本节点(标签里面的内容)
   案例: <div id="aa">
         hello world
       </div>               (div代表的是元素节点    id代表的是属性节点          hello world代表的文本节点)
  元素中有一个nodetype 的属性来判断节点 返回值为数字
      1代表元素节点
      2代表属性节点
      3代表文本节点
  4.节点的获取(重中之重)
  获取元素节点的很多方法
  document.getElementById()
  document.getElementsByClassName()
  document.getElementsByTagName()
  document.querySelector()
  document.querySelectorAll()
  属性节点获取
  元素.getAttribute("属性名")     获取元素的属性值
  元素.attributes      获取元素身上所有属性构成的集合    如果想得到里面的属性值 元素.attributes[1].value
  元素.setAttribute("属性名","属性值")  给元素设置属性和属性值
  元素.setAttribute("id","aa")
  元素.removesetAttribute("属性")      删除元素属性
  文本节点
  没有获取的方法(无意义)
  标准浏览器(ie8以上的高版本浏览器)      非标准浏览器(ie8以下的低版本浏览器)
  标准浏览器会把文本节点也当成他的子节点
  5.兼容性:
  获取元素子节点的
  元素.childNodes   这个属性有兼容性,标准浏览器会获取到文本节点,而低版本不会, 所以建议使用children这个属性   (这个属性:只读)
  元素.children
  获取单个子节点;
  获取第一个子节点
  标准浏览器下:元素.firstElementChild;
  非标准浏览器下:元素.firstchild
  兼容性写法:元素.firstElementChild||元素.firstchild
  获取最后一个子节点:元素.lastElementChild
  标准浏览器下:元素.lastElementChild
  非标准浏览器下:元素.lastchild
  兼容性写法:元素.lastElementChild||元素.lastchild
  获取上一个节点: 元素.nextElementSibling
  标准浏览器下:元素.nextElementSibling
  非标准浏览器下:元素.nextsibling
  兼容性写法:元素.nextElementSibling||元素.nextsibling
  获取上一个子节点:元素.previousElementSibling
  标准浏览器下:元素.previousElementSibling
  非标准浏览器下:元素.previoussibling
  兼容性写法:元素.previousElementSibling||元素.previoussibling
  6.获取父节点:parentNode
  元素.parentNode   (不会涉及到兼容性问题,放心使用)
  7.区分offsetparent和parentNode的区别?
   案例:<div id="ha">   {position:relative}
        <div id="he">
          <div id="zhang">   {position:absolute}
          </div>
        </div>
      </div>
  offsetparent是跟定位有关的 所以他的父级是ha            parent Node的父级就是他的上一级he
  二。动态创建节点:   在空的div中添加内容
  添加内容的几种方法;
  1. 字符串拼接     (添加事件不起作用)
  2.动态创建           (消耗性能最大)
  3.模板创建         (字符串拼接的封装版)
  4.文档碎片   (最好用的 方法一和方法二的结合)

创建节点
  1.生成节点的方法:document.creatElement("div")
  2.插入节点:  fu元素.appendchild(新节点)      在父节点的后面添加新的节点
  3.在指定的位置中插入新的节点
  父元素.insertBefore(新节点,谁的前面)          将新的节点插入到指定元素的前面
  4.删除元素节点
  父级.removechild(要删除的节点)

原文地址:https://www.cnblogs.com/wangzhen1012/p/10044718.html