前端最基础的就是 HTML+CSS+Javascript
。掌握了这三门技术就算入门,但也仅仅是入门,如今前端开发的定义已经远远不止这些。前端小课堂(HTML/CSS/JS
),本着提高技术水平,打牢基础知识的中心思想,咱们开课啦(每周四)。html
前面咱们已经基本掌握常规的语法语义,以及基本的使用方法。接下来咱们讲深刻进去了解其中内在的原理。前端
DOM
一般上来说,咱们能够理解为用 JS 操做 HTML 的 API或者说 JS 和 HTML 中间的处理器适配器。node
文档对象模型 (DOM) 是 HTML 和 XML 文档的编程接口
文档对象模型 (DOM) 将 web 页面与到脚本或编程语言链接起来。
一般是指 JavaScript,但将 HTML、SVG 或 XML 文档建模为对象并非 JavaScript 语言的一部分。
DOM模型用一个逻辑树来表示一个文档,树的每一个分支的终点都是一个节点(node),每一个节点都包含着对象(objects)。
DOM的方法(methods)让你能够用特定方式操做这个树,用这些方法你能够改变文档的结构、样式或者内容。节点能够关联上事件处理器,一旦某一事件被触发了,那些事件处理器就会被执行。
文档对象模型 (DOM) - mdn
圈起来的是比较经常使用的接口。web
DOM 接口测试地址正则表达式
用来表示一个 DOM元素的属性。
大多数场景你可能会直接经过字符串的方式获取属性值(Element.getAttribute('name')
)。
其实还有(Element.getAttributeNode()
)返回Attr类型。
目前 Attr接口 继承于 Node接口。DOM4 级别上会移出,因此尽可能不要使用 Node接口上的属性编程
很是通用的基类,全部 Document
对象下的对象都继承它。Element
接口继承 Node
接口segmentfault
Comment
接口表明标签(markup)之间的文本符号(textual notations)。尽管它一般不会显示出来,可是在查看源码时能够看到它们。在 HTML 和 XML 里,注释(Comments)为 '<!--' 和 '-->' 之间的内容。在 XML 里,注释中不能出现字符序列 '--'。浏览器
Event 接口表示在 DOM 中发生的事件微信
click
或键盘 keydown
事件)其下还有不少子类cookie
CustomEvent
事件是由程序建立的,能够有任意自定义功能的事件。click
操做document.querySelector('button').dispatchEvent(new CustomEvent('click'))
表示选区中包含的节点和文本节点的文档片断。
document.createRange
方法建立Selection
对象的 getRangeAt
方法取得(document.getSelection().getRangeAt(0)
)。Range()
建立仍是在作一个聊天框功能的时候,使用这个去重置焦点
Document接口表示任何在浏览器中已经加载好的网页,并做为一个入口去操做网页内容(也就是DOM tree)。
DOM tree包括像 <body>
、<head>
等元素。提供了全局操做 document
的功能。
Document.scrollingElement
返回真实的滚动对象(用于 PC/M 兼容)Document.visibilityState
当前页面状态Document.hidden
当前页面是否隐藏Document.documentElement
获取根元素其实功能还有不少,感兴趣的能够点标题看看
针对具体的 HTML 元素,还有对应的接口,好比 input
会有对应的 value
,required
等属性
具体继承方式以下。根据规范,不一样的类型继承了不一样的属性。不过通常元素都会继承 EventTarget
、Node
、Element