XML DOM textContent 属性

定义和用法

textContent 属性返回或设置所选元素的文本。

返回文本时,此属性返回元素节点内所有文本节点的值。

设置文本时,此属性将删除所有子节点并将它们替换为单个文本节点。

注意:此属性在 Internet Explorer 9 中不起作用(返回 undefined)。

提示:如需设置和返回节点的文本值,请使用文本节点的 nodeValue 属性。

语法

返回文本:

elementNode.textContent

设置文本:

elementNode.textContent=string

实例

例子 1

下面的代码将 "books.xml" 加载到 xmlDoc 中,并从第一个 <title> 元素获取文本节点:

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];
    document.getElementById("demo").innerHTML =
    "Text Nodes: " + x.textContent;
}

亲自试一试

例子 2

下面的代码将 "books.xml" 加载到 xmlDoc 中,并从第一个 <book> 元素获取文本节点,并用新的文本节点替换所有节点:

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("book")[0];
    document.getElementById("demo").innerHTML =
    "Before: " + x.textContent + "<br>";

    x.textContent = "hello";
    document.getElementById("demo").innerHTML +=
    "After: " + x.textContent;
}

亲自试一试