位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 訪問文本節(jié)點

提問人:劉團圓發(fā)布時間:2020-11-26

■知識點

使用nodeValue或data屬性可以訪問文本節(jié)點包含的文本。使用length屬性可以獲取包含文本的長度,利用該屬性可以遍歷文本節(jié)點中每個字符。

■實例設計

設計一個讀取元素包含文本的通用方法。

//獲取指定元素包含的文本

//參數(shù):e表示指定元素

//返回值:返回包含的所有文本,包括子元素中包含的文本

function text (e){

    var s = "";

    var e = e.childNodes || e;

    for( var i = 0; i < e.length; i++){

        s += e[i].nodeType != 1 ? e[i].nodeValue : text(e[i].childNodes);  //通過遞歸遍歷所有元素的子節(jié)點

}

return s;

}

  在上面的函數(shù)中,通過遞歸函數(shù)檢索指定元素的所有子節(jié)點,然后判斷每個子節(jié)點的類型,如果不是元素,則讀取該節(jié)點的值,否則再遞歸遍歷該元素包含的所有子節(jié)點。

下面使用上面定義的通用方法讀取div元素包含的所有文本信息。

<div id=,"divl">

    <span class="red">div</span>

    元素

</div>

<script>

var div = document.getElementByld("divl");

var s = text(div); //調用讀取元素的文本通用方法

console.log(s) ; //返回字符串"div元素"

</script>

這個通用方法不僅可以在HTML DOM中使用,也可以在XML DOM文檔中工作,并兼容不同瀏覽器。

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部