nodeValue屬性用於獲取節點的文本值。
該getAttribute()方法返回屬性的值。
得到一個元素的值
在DOM,一切都是一個節點。 元素節點沒有文本值。
元素節點的文本值存儲在一個子節點。 這種節點稱為文本節點。
若要檢索元素的文本價值,你必須檢索元素的文本節點的值。
該方法的getElementsByTagName
的getElementsByTagName()因為它們出現在源文件中的方法返回的所有元素的一個節點列表 ,指定標記名稱,在相同的順序。
假設“ 的books.xml ”已經加載到xmlDoc中。
此代碼檢索第<title>元素:
var x = xmlDoc.getElementsByTagName("title")[0];
該子節點屬性
該子節點屬性返回元素的子節點列表 。
下面的代碼檢索第一個的文本節點<title>元素:
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
nodeValue屬性
nodeValue屬性返回文本節點的文本值 。
下面的代碼檢索第一個文本節點的文本值<title>元素:
例
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
z = y.nodeValue;
Resul在Z: "Everyday Italian"
完整的示例
例
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
myFunction(xhttp);
}
};
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>元素: 試一試
獲取屬性的值
在DOM,屬性節點。 與元素節點不同,屬性節點擁有文本值。
獲得一個屬性的值的方法,是獲得它的文本值。
這可以通過使用來完成getAttribute()方法或使用屬性節點的nodeValue屬性。
獲取屬性值- getAttribute()
該getAttribute()方法返回attribute's value 。
下面的代碼檢索的文本值"lang"的第一個屬性<title>元素:
結果TXT: "en"
遍歷所有<book>元素,並得到他們的"category"屬性: 試一試
獲取屬性值- getAttributeNode()
該getAttributeNode()方法返回一個attribute node 。
下面的代碼檢索的文本值"lang"的第一個屬性<title>元素:
例
x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
試一試» 結果TXT = "en"
遍歷所有<book>元素,並得到他們的"category"屬性: 試一試