2012-11-15 76 views
0

我有這樣的事情:如何用B替換元素A並在變量中包含B對象?

jQuery(this_element).replaceWith('<div>' + jQuery(this_element).html() + '</div>'); 

它工作正常,但在運行後this_element仍包含舊元素(因爲它已被替換爲<div>old content</div>不存在了)。我該如何恢復該元素中的選擇,或者至少將新元素添加到this_element變量中?

回答

2

分別創建新的對象,然後繼續到參考(jQuery的1.4+):(該使用jQuery(html, props)法)

var $B = jQuery('<div/>', { 'html': jQuery(this_element).html() }); 
jQuery(this_element).replaceWith($B); 
this_element = $B; 

jsFiddle

+0

大:)而回答我的問題的第二部分是:var savedSel = rangy.saveSelection();替換元素... rangy.restoreSelection(savedSel);'我在哪裏使用Rangy選擇庫 - http://code.google.com/p/rangy/(即使元素已被其他元素替換,也能正常工作)。 – Atadj

相關問題