javascript学习

        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,唯一性

 

 

你可能感兴趣的:(JavaScript)