HTML5规范围绕如何使用新增标记定义了大量Javascript API,其中一些API与DOM重叠,定义了浏览器应该支持DOM拓展。
1.与类相关的扩充
HTML5新增了getElementsByClassName()方法,可以通过document 和 所有HTML元素调用
params: 一个或多个类名的字符串
返回值: 指定类的所有元素的NodeList
2.classList属性
在需要全部删除所有类名 或者 完全重写元素的class属性 可以用到
3.焦点管理
HTML5也添加辅助管理DOM焦点的功能。使用document.activeElement属性。该属性始终会引用DOM中当前获得焦点的元素。
元素获得焦点的方式:页面加载、用户输入 和 代码中使用 focus()方法。
新增了document.hasFocus()方法,用来确定文档是否获得了焦点。
4.HTML5在HTMLDocument的变化,将表示页面加载的属性readyState、表示浏览器模式的属性 compatMode纳入其中,
新增了document.head属性,引用文档的<head>元素。浏览器支持HTML5则可以使用该属性,否则使用API:getElementsByTagName()方法。
var head = document.head || document.getElementsByTagName('head')[0] ;
5.字符集属性
document.charset 和 document.dedaultCharset
6.自定义数据属性
HTML5规定可以为元素添加非标准的属性,以data-作为前缀。通过元素的dataset属性来访问自定义属性的值。
dataset属性的值是DOMStringMap的一个实例。