从“JS document节点简介”一节中的表 2 和“JS元素节点的常用属性和方法”一节中的表 2 中可知,使用 document 和元素节点调用相应的一些方法可以获取 HTML 元素。而使用这些节点的相关属性则进而可以获取特定的节点,例如获取元素的所有子节点、第一个子节点、最后一个子节点、下一个兄弟节点和父节点。

从而可以对元素或其相关节点作进一步的处理,如访问或设置元素的属性及样式、获取或设置元素内容、获取元素的位置及其宽、高等操作。通过 HTML DOM 访问 HTML 文档,极大地增强了用户与浏览器的交互性,提高了用户体验。

在 HTML DOM 中,常用于获取文档元素的方式主要有以下 6 种:

用指定的 id 属性:调用 document.getElementById(id属性值)。

用指定的 name 属性:调用 document.getElementsByName(name属性值)。

用指定的标签名字:调用 document|元素对象.getElementsByTagName(标签名)。

用指定的 CSS 类名:调用 document|元素对象.getElementsByClassName(类名)。

用指定的 CSS 选择器:调用 document|元素对象.querySelectorAll(选择器)找出所有匹配的元素。

匹配指定的 CSS 选择器:调用 document|元素对象.querySelector(选择器)找出第 1 个匹配的元素。

下面使用例 1 演示使用前面 5 种方式获取文档元素。

【例 1】获取文档元素的综合示例。

获取文档元素综合示例


window.onload = function(){
var oDiv = document.getElementById("box"); //使用id属性获取元素
var oH = document.getElementsByTagName("h2")[0]; //使用标签名获取元素
var oP1 = box.getElementsByClassName("content")[0];//使用父元素通过CSS类名获取元素
var oInput1 = box.querySelectorAll("input")[0]; //使用父元素通过CSS选择器获取元素
var oTextarea = document.getElementsByName("info")[0]; //使用name属性获取元素
alert("获取的元素的标签名分别为:\n"+oDiv.tagName+", "+
oH.tagName+", "+oP1.tagName+","+oInput1.nodeName+", "+oTextarea.nodeName);
}



标题

段落一

段落二

用户名:

个人信息:



上述脚本代码中分别使用 id 属性、name 属性、标签名、CSS 类名和 CSS 选择器来选择文档元素。访问这些元素的 tagName 或 nodeName 属性可以分别获得这些元素的大写的标签名,其在 Chrome 浏览器中的运行结果如图 1 所示。


图 1:使用 HTML DOM 获取元素结果