选择符API:
- querySelector():接收一个css选择符,返回与该元素匹配的第一个元素,若无,返回null
- querySelectorAll():接收一个css选择符,返回一个匹配的nodeList对象,若无,nodeList为空
- matchesSelector():接收一个css选择符,如果调用元素与选择符匹配返回true,否则返回false。
- 元素遍历(不包括文本节点和注释)
- childElementCount:返回子元素的个数
- firstElementChild:指向第一个元素
- lastElementChild:指向最后一个元素
- previousElementSibling:指向前一个同辈元素
- nextElementSibling:指向下一个同辈元素
HTML5--与类(class)相关的扩充
- getElementsByClassName()方法:可以通过documnet或者其他html元素调用,接收一个包含一个或多个类名的字符串(类名的先后顺序无所谓),返回带有指定类的所有元素的nodeList
- classList属性:可以通过documnet或者其他html元素调用,返回包含所有class的一个列表
- add(value):将给定的字符串添加到列表中,如果已存在,则再不添加
- contains(value):列表中是否存在给定的值,如果有返回true,否则返回false
- remove(value):从列表中删除给定的字符串
- toggle(value):从列表中搜索给定的值,如果没有,添加,如果已经存在,则删除它
- 焦点管理
- doucment.activeElement,这个属性始终会引用dom中获取到了焦点的元素
- document.hasFocus(),这个方法用于确定文档是否获取了焦点
- HTMLDocument的变化
-
readyState属性,通过它来实现一个指示文档已经加载完成的指示器。有两个值:loading(正在加载文档)和complete(已经加载完文档)
-
兼容模式:compatMode属性,标准模式下等于“CSS1Compat”,混杂模式下,document.compatMode的值等于“backCompat”
-
head属性,应用文档的head元素,使用方式如下
-
var head=document.head||document.getElementByTagName("head")[0]
- 字符集属性:
- charset属性:使用方式:document.charset
- dedaultCharset属性:使用方式:document.defaultCharset
- 自定义数据属性
- 定义:为元素添加非标准的属性,目的是为了给元素添加与渲染无关的信息。这些属性可以任意添加,随意命名,只要以data-开头即可
- eg:
- 取值方式:var appid=div.dataset.appid
- 设置值:div.dataset.appid='23453'
-
插入标记
-
innerHTML属性
- 读模式下,返回调用元素的所有节点对应的HTML标记
- 写模式下,会根据指定的值创建新的dom树,然后用这个dom树完全替换调用元素原先的所有子节点。
- outerHTML属性
- 读模式下,返回调用它的元素及所有子节点的HTML标签。
- 写模式下,会根据指定的HTML字符串创建新的DOM子树,然后用这个dom子树完全替换调用元素。
- insertAdjacentHTML()
- 内存与性能问题
- 使用以上三个替换子节点的方法可能会导致浏览器的内存占用问题。在删除带有事件处理程序或引用了其他js对象子树时,就有可能导致内存占用问题。
- 在使用以上三个属性将元素从文档中删除之后,元素与事件处理程序之间的绑定关系并没有从内存中一并删除。
- scrollIntiView()方法
- 可以在所有html元素上调用
- 入参为true或者不传入任何参数,窗口滚动之后会让调用元素的顶部与视口顶部尽可能平齐
- 入参为false,调用元素会尽可能全部出现在视口中,可能的化调用元素的底部会与视口平齐。
- 专有扩展,没有成为标准,只被少数浏览器支持
-
文档模式:documentMode
-
children属性
-
contains方法
-
插入文本
-
innerText
-
outerText
-
滚动
-
scrollIntoViewIfNeeded(alignCenter):当前元素在不可见的情况下,滚动视口让它可见,如果已经可见,不做任何操作
-
scrollByLines(lineCount):将元素的内容滚动到指定的行高,lineCount可以是正值也可以是负值
-
scrollByPages(pageCount):将元素的内容滚动到指定的页面高度。