XML DOM getElementsByTagName() 方法
定义和用法
getElementsByTagName() 方法可返回带有指定名称的所有元素的一个节点列表。
语法:
- getElementsByTagName(name)
参数 | 描述 |
---|---|
name | 字符串值,规定需检索的标签名。值 "*" 匹配所有的标签。 |
返回值
文档树中具有指定标记的 Element 节点的只读数组(从技术上讲,是 NodeList 对象)。返回的元素节点的顺序就是它们在源文档中出现的顺序。
说明
该方法将返回一个 NodeList 对象(可以作为只读数组处理),该对象存放文档中具有指定标签名的所有 Element 节点,它们存放的顺序就是在源文档中出现的顺序。NodeList 对象是“活”的,即如果在文档中添加或删除了指定标签名的元素,它的内容会自动进行必要的更新。
注意,Element 接口定义了一个同名的方法,该方法只检索文档的子树。另外,HTMLDocument 接口定义了 getElementsByName() 方法,基于 name 属性的值(而不是标签名)检索元素。
例子
可以用下列代码检索并遍历 HTML 文档中的所有 <h1> 标记:
- var headings = document.
getElementsByTagName
("h1");- for (var i = 0; i < headings.length; i++) {
- var h = headings[i];
- }
实例
在所有的例子中,我们将使用 XML 文件 books.xml,以及 JavaScript 函数 loadXMLDoc()。
以下代码片段可显示 "books.xml" 中所有 <title> 元素的值:
- xmlDoc=loadXMLDoc("/example/xdom/books.xml");
- var x=
xmlDoc.getElementsByTagName('title')
;- for (i=0;i<x.length;i++)
- {
- document.write(x[i].childNodes[0].nodeValue)
- document.write("<br />")
- }
输出:
- Harry Potter
- Everyday Italian
- XQuery Kick Start
- Learning XML