读书笔记 - js高级程序设计 - 第十章 DOM
Posted 阿里P7之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读书笔记 - js高级程序设计 - 第十章 DOM相关的知识,希望对你有一定的参考价值。
文档元素 |
是文档的最外层元素,在html页面中,文档元素始终都是<html>元素
在xml中,任何元素都可以是文档元素
|
Node类型 |
Node.ELEMENT_NODE 元素
Node.ATTRIBUTE_NODE 属性
Node.TEXT_NODE 文本元素
Node.CDATA_SECTION_NODE
Node.ENTITY_REFERENCE_NODE
Node.ENTITY_NODE
Node.PROCESSING_INSTRUCTION_NODE;
Node.COMMENT_NODE
Node.DOCUMENT_NODE:
Node.DOCUMENT_TYPE_NODE
Node.DOCUMENT_FRAGMENT_NODE;
Node.NOTATION_NODE
|
判断Node类型时 | 最好用数字,因为有些浏览器没有公开上面的常量名 |
nodeType
nodeName
nodeValue
|
1
div html body
|
子节点 |
someNode.childNodes[0]; //取到第一个元素
someNode.childNodes.item(1);//取到第二个元素
someNode.firstChild
someNdoe.lastChild
|
把子节点转换成数组 | Array.prototype.slice.call( someNode.childNodes, 0 ) ; |
父节点 | parentNode属性 |
兄弟节点 |
previousSibling
nextSibling
|
判断 是否有子节点 | hasChildNodes() |
ownerDocument | 所有节点都有这个属性 指向整个文档的文档节点 |
操作节点 |
1 放到最后一个子节点 appendChild() ; 和 addChild 差不多,只能有一个
2 放到指定位置 insertBefore(a,b) 要插入的节点 作为参照的节点
3 replaceChild( a, b ) 要插入的节点 和 要替换的节点
4 removeChild( a ) 只是移除节点
5 cloneNode() ; 传true表示深复杂,但它不会复制添加dom节点中的js属性,例如事件处理程序.
6 nomalize() 如果找到了空文本节点,则删除;如果找到相邻的文本节点,则将它们合并为一个文本节点
|
Document类型 |
document对象就是HTMLDocument
document.documentElement
document.firstChild
document.childNode[0]
上面三个值都指向 <html>
|
document.boby | 指向<body> |
document.docType |
取得对<!DOCTYPE>的引用 ,各个浏览器对它的支持不一致,因此它的作用很有限
|
document.title | 取得标头 |
document.URL | 取得完整 url |
document.domain |
取得域名
域名只能从 紧绷的 设置成 松散的, 反之则不行
|
document.referrer | 取得来源页面的URL |
通讯 |
来自不同域的页面无法通过js通信
如果把两个页面的document.domain都设置为 17zuoe.com ,它们之间就可以通信了
|
查找元素 | getElementById() |
以上是关于读书笔记 - js高级程序设计 - 第十章 DOM的主要内容,如果未能解决你的问题,请参考以下文章
读书笔记 - js高级程序设计 - 第十二章 DOM2和DOM3