日期:2014-05-16  浏览次数:20292 次

javascript学习笔记六

11 DOM扩展

?????? DOM的两个主要的扩展是Selectors API(选择符API)HTML5

11.1 选择符API

?????? Selectors API是由W3C发起制定的一个标准,致力于让浏览器原生支持CSS查询。所有实现这一功能的JavaScript库都会写一个基础的CSS解析器,然后再使用已有的DOM方法查询文档并找到匹配的节点。

11.1.1 querySelector()方法

?????? querySelector方法接收一个CSS选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null

11.1.2 querySelectorAll()方法

?????? querySelectorAll()方法接收的参数与querySelector()方法是一样,都是一个CSS选择符,但返回的是所有匹配的元素而不仅仅是一个元素。这个方法返回的是一个NodeList的实例。

?????? 只要传给querySelectorAll()方法的CSS选择符有效,该方法都会返回一个NodeList对象,而不管找到多少匹配的元素。如果没有找到匹配的元素,NodeList就是空的。

?????? querySelector()类似,能够调用querySelectorAll()方法的类型包括DocumentDocumentFragmentElement

11.1.3 matchesSelector()方法

?????? Selectors API Level 2规范为Element类型新增了一个方法matchesSelector()。这个方法接收一个参数,即CSS选择符,如果调用元素与该选择符匹配,则返回true;否则返回false

11.2 元素遍历

?????? Element Traversal APIDOM元素添加了以下5个属性。

?????? 1childElementCount:返回子元素(不包括文本节点和注释)的个数。

?????? 2firstElementChild:指向第一个子元素;

?????? 3lastElementChild:指向最后一个子元素;

?????? 4previousElementSibling:指向前一个同辈元素;

?????? 5nextElementSibling:指向后一个同辈元素;

11.3 HTML5

11.3.1 与类相关的扩充

?????? 1.getElementsByClassName()方法

?????? getElementsByClassName()方法接收一个参数,即一个包含一或多个类名的字符串,返回带有指定类的所有元素的NodeList。传入多个类名时,类名的先后顺序不重要。

?????? 2.class