红皮书(10):DOM扩展

选择符API

querySelector()方法

// 取得body元素
var tbody = document.querySelector('body');

// 取得ID为"myDIV"的元素
var myDIV = document.querySelector("#myDiv");

// 取得类为"selected"的第一个元素
var selected = document.querySelector(".selected");

// 取得类为"button"的第一个图像元素
var img = document.body.querySelector("img.button");

querySelectorAll()方法

// 取得某<div>中的全部<em>元素(相似于getElementsByTagName("em"))
var ems = document.getElementById("myDiv").querySelectorAll("em");

// 取得类为"selected"的全部元素
var selecteds = document.querySelectorAll(".selected");

// 取得全部<p>元素中的全部<strong>元素
var strongs = document.querySelectorAll("p strong");

HTML5

与类相关的扩充

1. getElementsByClassName()方法
改方法能够经过document对象及全部HTML元素调用该方法。code

// 取得全部类中包含"username"和"current"的元素。类名的前后顺序无所谓
var allCurrentUsernames = document.getElementsByClassName("username current");

// 取得ID为"myDiv"的元素中带有类名"selected"的全部元素
var selected = document.getElementById("myDiv").getElementsByClassName("selected");

焦点管理
HTML5也添加了辅助管理DOM焦点的功能。首先就是document.activeElement属性,这个属性始终会引用DOM中当前得到了焦点的元素。对象

var button = document.getElementById("myButton");
button.focus();
alert(document.activeElement === button); // true

默认状况下,文档刚刚加载完成时,document.activeElement中保存的是document.body元素的引用。文档加载期间,docuemnt.activeElement的值为null。
另外就是新增了document.hasFocus()方法,这个方法用于肯定文档是否得到了焦点。文档

var button = document.getElementById("myButton");
botton.focus();
alert(document.hasFocus()); // true
相关文章
相关标签/搜索