2011-09-12 36 views
1

字符串結果,這是我想要做的事:不能得到的replaceWith

var x = $("<div><div class='aaa' /></div>").find('.aaa').replaceWith("hi"); 
alert(x); 

警報的結果是object我需要<div>hi</div>

回答

1

.replaceWith回報移除的元素,所以你需要保存你的初始對象。你也不能依賴元素的outerHTML屬性。

var x = $("<div><div class='aaa' /></div>"); 
x.find('.aaa').replaceWith("hi"); 
var div = x.get(0); 
alert("<" + div.tagName + ">" + div.innerHTML + "</" + div.tagName + ">"); 
1

使用.end()關閉find操作,這樣就可以訪問該修改的內容。

var x = $("<div><div class='aaa' /></div>").find('.aaa').replaceWith("hi").end(); 

x是一個jQuery對象,這就是爲什麼你得到[object Object]。您可以直接以x[0]x.get(0)訪問它的內容。

您可以使用下面的語句來測試您預期的結果,

alert(x[0].outerHTML); 

注意outerHTML沒有在Firefox支持。