2009-08-13 88 views
5

使用jquery,我目前將html附加到單擊事件的div上。下面的代碼允許我淡入只有div的附加部分:使用jQuery去除附加的html?

var html = ".."; 
$('<div></div>').appendTo("#id").hide().append(html).fadeIn('slow'); 

這部分工作完美。但是,我以後如何才能刪除(淡出)僅附加部分?我試圖通過將之前的存儲到附加文件中,然後簡單地隱藏所有內容並顯示存儲的html來嘗試黑客入侵。但是,如果在同一頁面上多個div重複使用同一個過程(這看起來像是糟糕的實現),那麼這樣做效果不佳。有沒有一個好的方法來做到這一點?

只是想知道爲什麼我需要這個:想想一個博客類型頁面,其中對於網頁上的每篇文章都有幾條評論,默認情況下只顯示x個數量:點擊事件獲取剩餘評論並顯示它們,然後再次切換按鈕將刪除附加的註釋並將其發送回原始狀態。

回答

3

我剛剛設置和以「.html()」清除HTML ...

- 編輯

更清晰,有一個區域,奠定了專門爲添加這些評論:

<div id='commentarea1'></div> 

+0

我不遵循...我需要追加html到一個已經存在的html塊。然後以後只刪除附加的部分 – oym 2009-08-13 00:09:56

+0

創建一個沒有任何內容的div;在那裏寫你的內容,然後清除它(或真的隱藏它)。 – 2009-08-13 00:13:49

+0

這麼簡單......不知道爲什麼我沒有想到這麼做......謝謝! – oym 2009-08-13 00:19:56

2

嘗試:

var html = ".."; 
$('<div></div>').appendTo("#id").hide().append(html).fadeIn('slow').addClass('appended'); 

後來

$('#id .appended').fadeOut('slow'); // or whatever you want to do. 
0

它是不是從疑問清楚,但說你表現出5條評論默認,然後顯示X更多評論。要回到原始的5條評論默認狀態,您可以刪除索引大於4(基於零)的所有評論。

以下假設每個註釋都在它自己的具有類註釋的div內部。

$('#id>div.comment:gt(4)').remove(); 
8

空()始終是一個選項

jQuery的( '#主')空();