学习感悟3

继续学习。。

1.Dom操作节点

(1)appendChild()向childnodes列表添加一个节点

var returnNode = someNode.appendChild(newNode);

(2)insertBefore接受两个参数,要插入的节点和参照节点,如果参照节点为null,则功能和appendChild()一样

var returnNode = someNode.insertBefore(newNode,null);

(3)replaceChild接受两个参数,要插入的节点和要替换的节点

var returnNode = someNode.replacechild(newNode,someNode.firstChild);

(4)removeChild移除节点

var returnNode = someNode.removeChild(someNode.firstNode);

2.查找元素

(1)getElementById根据id查找元素

(2)getElementByTagName根据元素标签名查找元素

(3)namedItem根据name属性查找元素

(4)getElementByName根据name查找元素

(5)getElementByClassName根据class来查找元素

(6)等等。。

3.取得特性

(1)取得特性

var div = document.getElementById("id");
alert(getAttribute("id"));
alert(getAttribute("class"));
alert(getAttribute("name"));
alert(getAttribute("title"));
alert(getAttribute("lang"));
alert(getAttribute("dir"));

(2)设置特性

setAttribute("id","id");

(3)删除特性

removeAttribute("class");

4.兼容模式

if(document.compatMode == "CSS1Compat"){
    alert("standards mode");//标准模式
}else {
    alert("quirks mode");混杂模式
}

5.事件流

IE的事件流是事件冒泡流,而Netscape的事件流是事件捕获流,正好相反,由于老版本浏览器不支持,所以现在很少有人使用事件捕获流

事件处理被看做发生在事件冒泡阶段

Dom2级事件处理程序:addEventListener()和removeEventListener()

addEventListener()接受三个参数,要处理的事件名、处理程序的函数、布尔值,如果布尔值为true,则该事件会在捕获阶段被触发,如果为false,则会在冒泡阶段被触发

IE事件处理程序则会不同,使用attachEvent()和detachEvent(),与使用dom0的区别在于处理事件的作用域,使用attachEvent作用域会在全局作用域运行,事件处理程序都会在冒泡阶段运行,接受两个参数

stopPropagation()方法会阻止程序冒泡

posted @ 2016-03-02 21:38  颜王孙  阅读(137)  评论(0编辑  收藏  举报