《JS高级程序设计》之八

1、

Node.ELEMENT_NODE(1);  元素节点

Node.ATTRIBUTE_NODE(2);  属性节点

Node.TEXT_NODE(3);   文本节点

  每个节点都有一个childNodes属性,其中保存着一个NodeList对象,访问NodeList中的节点,可以通过方括号,也可以使用item()方法。

var firstChild = someNode.childNodes[0];

var secondChild = someNode.childNodes.item(1);

2、可以使用previousSibling 和 nextSibling 属性,访问同胞元素。其中

  

someNode.firstNode = someNode.childNodes[0];

someNode.lastChild = someNode.childNodes[someNode.childNodes.length-1];

3、节点属性:ownerDocument,该属性指向表示整个文档的文档节点。

4、操作节点:向列表的末尾添加一个节点,appendChild(newCode)。

5、insertBefore() ,接收两个参数:要插入的节点和作为参照的节点。

  

someNode.insertNode(newNode , oldNode);

  replaceChild() , 接收两个参数:要插入的节点和要替换的节点。

someNode.replaceChild(newNode , oldNode);

6、removeChild() , 该方法接收一个参数,即要移除的节点。

  

someNode.removeChild(someNode.firstChild);

7、cloneNode() ,用于创建调用这个方法的节点的一个完全相同的副本,接受一个布尔值参数,表示是否执行深复制,在参数为true的情况下,执行深复制,即复制节点以及整个子节点树,在参数为false的情况下,执行浅复制,即只复制节点本身。

8、normalize() ,唯一的作用是处理文档树中的文本节点。如果找到了空文本节点,则删除它,如果找到了相邻文本节点,则合并为一个文本节点。

 9、跨域安全限制:来自不同子域的页面无法通过JS通信,将每个页面的document.domain设置为相同的值,这些页面就可以相互访问对方包含的JS对象了。

10、文档写入,有4个方法,write() writeln() open() close()。write()会原样写入,而writeln()则会在字符串的末尾添加一个换行符( )。如果在文档加载结束之后再调用document.write(),那么输出内容将会重写整个页面。open() 和 close() 分别用于打开和关闭网页的输出流。如果是在加载期间使用write() 或 writeln() 方法,则不需要用到这个方法。

11、操作特性的DOM方法: getAttribute()  setAttribute() removeAttribute()

 

原文地址:https://www.cnblogs.com/qducn/p/7597956.html