在 DOM 中,一切都是节点。元素节点没有文本值。
元素节点的文本值存储在子节点中。该节点被称为文本节点。
如需获得元素的文本值,您必须检索元素的文本节点的值。
也就是说,获取元素文本的方法,就是获取这个子节点(文本节点)的值。
getElementsByTagName() 方法返回包含拥有指定标签名的所有元素的节点列表,其中的元素的顺序是它们在源文档中出现的顺序。
假设 books.xml 已加载到 xmlDoc 中。
此代码检索第一个 <title> 元素:
var x = xmlDoc.getElementsByTagName("title")[0];
childNodes 属性返回元素的子节点的列表。
下面的代码检索第一个 <title> 元素的文本节点:
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
nodeValue 属性返回文本节点的文本值。
下面的代码检索第一个 <title> 元素的文本节点的文本值:
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
z = y.nodeValue;
z 中的结果:雅舍谈吃
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName('title')[0];var y = x.childNodes[0];
document.getElementById("demo").innerHTML = y.nodeValue;
}
</script>
</body>
</html>
运行实例 »点击 "运行实例" 按钮查看在线实例
循环遍历所有 <title> 元素:
x = xmlDoc.getElementsByTagName('title');
for (i = 0; i < x.length; i++) {
txt += x[i].childNodes[0].nodeValue + "<br>";
}
运行实例 »点击 "运行实例" 按钮查看在线实例
在 DOM 中,属性也是节点。与元素节点不同的是,属性节点有文本值。
获取属性值的方法是获取其文本值。
可以通过使用 getAttribute() 方法或属性节点的 nodeValue 属性来完成这个任务。
getAttribute() 方法返回属性的值。
下面的代码检索第一个 <title> 元素的 "lang" 属性的文本值:
x = xmlDoc.getElementsByTagName("title")[0];
txt = x.getAttribute("lang");
运行实例 »点击 "运行实例" 按钮查看在线实例
循环遍历所有 <book> 元素并获取它们的 "category" 属性:
x = xmlDoc.getElementsByTagName("book");
for (i = 0; i < x.length; i++) {
txt += x[i].getAttribute("category") + "<br>";
}
运行实例 »点击 "运行实例" 按钮查看在线实例
getAttributeNode() 方法返回属性节点。
下面的代码检索第一个 <title> 元素的 "lang" 属性的文本值:
x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
运行实例 »点击 "运行实例" 按钮查看在线实例
循环遍历所有 <book> 元素并获取它们的 "category" 属性:
x = xmlDoc.getElementsByTagName("book");
for (i = 0; i < x.length; i++) {
txt += x[i].getAttributeNode("category").nodeValue + "<br>";
}
运行实例 »点击 "运行实例" 按钮查看在线实例
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.3万人学习
共49课时
77.4万人学习
共29课时
62万人学习
共25课时
39.5万人学习
共43课时
71.3万人学习
共25课时
61.9万人学习
共22课时
23.1万人学习
共28课时
34.1万人学习
共89课时
125.8万人学习