使用JQuery獲取節點與其子節點的方法


對於頁面中的html片段:

<div id="dem"><span>單號:</span>RC-12345854635</div>

 使用jQuery獲取div的文本節點:

var str = $("#dem").text();

得到的內容--> str = 單號:RC-12345854635,即取得了div節點的全部文本內容。

要想獲得div主節點的文本,而不去子節點(span)的文本,可使用如下方法:

var text = $("#dem").contents().filter(function() {
  return this.nodeType === 3;
}).text();

其中,方法contents()的作用是查找匹配元素內部所有的子節點(包括文本節點);在這里就是取得id為dem的div下所有子節點。

而filter()的作用是過濾結果集,目的只有一個,使被過濾的結果集中,滿足參數條件的節點保留下來,這里傳入的參數為函數;反之不滿足的節點全部移除。

nodeType 屬性返回以數字值返回指定節點的節點類型。

如果節點是元素節點,則 nodeType 屬性將返回 1。

如果節點是屬性節點,則 nodeType 屬性將返回 2。

如果節點是文本節點,則 nodeType 屬性將返回 3。

 同樣的,也可以獲取div下span子節點的文本信息,方法如下:

var text = $("#dem > span").first().contents().filter(function() {
    return this.nodeType === 3;
}).text();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM