jQuery 遍歷 contents() 方法
jQuery 遍歷 contents() 方法
contents() 方法獲得匹配元素集合中每個元素的子節點,包括文本和注釋節點。
1. 語法
.contents()
如果給定表示 DOM 元素集合的 jQuery 對象,.contents() 方法允許我們檢索 DOM 樹中的這些元素的直接子節點,并用匹配元素構造新的 jQuery 對象。.contents() 和 .children() 方法類似,不同的是前者在結果 jQuery 對象中包含了文本節點以及 HTML 元素。
.contents() 方法也可以用于獲得 iframe 的內容文檔,前提是該 iframe 與主頁面在同一個域。
請思考下面這個帶有一些文本節點的
,每個節點被兩個折行元素 (
) 分隔:
) 分隔:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
我們可以使用 .contents() 方法來把文本塊轉換為形式良好的段落:
$('.container').contents().filter(function() { return this.nodeType == 3; }) .wrap(' ') .end() .filter('br') .remove();
這段代碼首先會接收
的內容,然后濾過其文本節點,將文本節點封裝入段落標簽中。這是通過測試元素的 .nodeType 屬性實現的。該屬性存有指示節點類型的數字代碼;文本節點使用代碼 3。內容會被再次過濾,這次針對
元素,這些元素會被移除。
元素,這些元素會被移除。
2. 范例
找到段落中的所有文本節點,并用粗體標簽包裝它們。
$("p").contents().filter(function(){ return this.nodeType != 1; }).wrap("<b>");</b>
相關文章
- jQuery 效果 動畫
- jQuery 設置內容和屬性
- jQuery AJAX load() 方法
- jQuery 事件 pageX 屬性
- jQuery 事件 which 屬性
- jQuery 事件 select() 方法
- jQuery 遍歷 clearQueue() 方法
- jQuery 遍歷 eq() 方法
- jQuery 遍歷 nextUntil() 方法
- jQuery ajax ajax() 方法
- jQuery ajax ajaxComplete() 方法
- jQuery CSS 操作 height() 方法
- jQuery 文檔操作 prependTo() 方法
- jQuery * 選擇器
- jQuery :first 選擇器
- jQuery :last 選擇器
- jQuery :gt 選擇器
- jQuery :visible 選擇器
- jQuery [attribute=value] 選擇器
- jQuery :radio 選擇器