用法
.replaceWith( newContent ) => jQuery
.replaceWith( newContent ) => jQuery
說明:用提供的新內容替換匹配元素集中的每個元素,並返回被移除的元素集。
-
添加的版本:1.2
.replaceWith( newContent )
-
newContent類型:htmlString 或 Element 或 Array 或 jQuery要插入的內容。可以是 HTML 字符串、DOM 元素、DOM 元素數組或 jQuery 對象。
-
-
添加的版本:1.4
.replaceWith( function )
-
function類型:Function ()一個函數,它返回用於替換匹配元素集的內容。
-
.replaceWith()
方法通過一次調用從 DOM 中刪除內容並在其位置插入新內容。考慮這個 DOM 結構:
|
第二個內部 <div>
可以替換為指定的 HTML:
|
這導致結構:
|
All
內部 <div>
元素可以立即成為目標:
|
這會導致所有這些都被替換:
|
也可以選擇一個元素作為替換:
|
這導致了 DOM 結構:
|
此示例演示了選定元素通過從其舊位置移動而不是通過克隆來替換目標。
.replaceWith()
方法與大多數 jQuery 方法一樣,返回 jQuery 對象,以便其他方法可以鏈接到它。但是,必須注意返回的是original
jQuery 對象。此對象指的是已從 DOM 中刪除的元素,而不是替換它的新元素。
其他注意事項:
.replaceWith()
方法刪除與已刪除節點關聯的所有數據和事件處理程序。- 在 jQuery 1.9 之前,如果集合中的第一個節點未連接到文檔,
.replaceWith()
將嘗試在當前 jQuery 集合中添加或更改節點,並且在這些情況下返回一個新的 jQuery 集合而不是原始集合。該方法可能會或可能不會返回新結果,具體取決於其參數的數量或連接性!從 jQuery 1.9 開始,.after()
、.before()
和.replaceWith()
總是返回原始的未修改集。嘗試在沒有父節點的節點上使用這些方法沒有任何效果——也就是說,集合和它包含的節點都不會改變。
例子:
單擊時,將按鈕替換為包含相同單詞的 div。
|
演示:
用粗體字替換所有段落。
|
演示:
單擊時,將每個段落替換為已在 DOM 中並使用 $()
函數選擇的 div。請注意,它不會克隆對象,而是將其移動以替換段落。
|
演示:
單擊按鈕時,將包含的 div 替換為其子 div,並將所選元素的類名附加到段落中。
|
演示:
相關用法
- JQuery .replaceAll()用法及代碼示例
- JQuery .removeAttr()用法及代碼示例
- JQuery .ready()用法及代碼示例
- JQuery .remove()用法及代碼示例
- JQuery .removeData()用法及代碼示例
- JQuery UI .removeClass()用法及代碼示例
- JQuery .removeProp()用法及代碼示例
- JQuery .removeClass()用法及代碼示例
- JQuery .resize()用法及代碼示例
- JQuery .jquery用法及代碼示例
- JQuery .scroll()用法及代碼示例
- JQuery .add()用法及代碼示例
- JQuery .contextmenu()用法及代碼示例
- JQuery .undelegate()用法及代碼示例
- JQuery .load()用法及代碼示例
- JQuery .contents()用法及代碼示例
- JQuery .empty()用法及代碼示例
- JQuery UI .labels()用法及代碼示例
- JQuery UI .addClass()用法及代碼示例
- JQuery .click()用法及代碼示例
- JQuery UI .toggleClass()用法及代碼示例
- JQuery .addClass()用法及代碼示例
- JQuery UI .cssClip()用法及代碼示例
- JQuery .next()用法及代碼示例
- JQuery UI .hide()用法及代碼示例
注:本文由純淨天空篩選整理自jquery.com大神的英文原創作品 .replaceWith()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。