DOM,document的子节点可以是,documentElement,childNodes来访问
如当HTML页面中,只有一对<html></html>时,则document.documentElement取到的是对<html>的引用。
document.body指向<body>
document.activeElement 返回当前文档中被击活的标签节点(ie)
event.fromElement 返回鼠标移出的源节点(ie)
event.toElement 返回鼠标移入的源节点(ie)
event.srcElement 返回激活事件的源节点(ie)
event.target 返回激活事件的源节点(firefox)
当前对象为node
返回父节点:node.parentNode, node.parentElement,
返回所有子节点:node.childNodes(包含文本节点及标签节点),node.children
返回第一个子节点:node.firstChild
返回最后一个子节点: node.lastChild
返回同属上一个子节点:node.nextSibling
返回同属下一个子节点:node.previousSibling
parentNode和parentElement功能一样,childNodes和children功能一样。但是 parentNode和childNodes是符合W3C标准的,可以说比较通用。而另外两个只是IE支持,不是标准,Firefox就不支持 ,所以大 家只要记得有parentElement和children就行了
(1)创建新节点
createDocumentFragment()//创建DOM碎片,为了节约使用DOM,因为js操作DOM时会重新刷新整个页面,从而消耗大量的时间,
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点
var op = document.createElement("p")//创造节点P
var oText = document.createTextNode("test1")
op.appendChild(oText);
document.body.appendchild(op);
var oFrag = document.createDocumentFragment()
oFrag.appendChild(op)
document.body.appendChild(oFrag);
(2)添加、移除、替换、插入
appendChild()刚才已经试过,用于向childNodes列表的末尾添加一个节点,返回要添加的元素节点
1 var ul = document.getElementByIdx_x("myList"); //获得ul
2 ul.appendChild(ul.firstChild); //把ul的第一个元素节点移到ul子节点的末尾
removeChild()删除节点
replaceChild(newNode,oldNode)替换节点
insertBefore()
var ul = document.getElementByIdx_x("myList"); //获得ul
var li = document.createElement_x("li"); //创建li
li.innerHTML= "项目四"; //向li内添加文本
ul.insertBefore(li,ul.firstChild); //把li添加到ul的第一个子节点前
(3)查找
getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的Name属性的值
getElementById() //通过元素Id,唯一性