// 取得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");
// 取得某<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");
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