2014-11-23 50 views
0

我想在特定元素後插入一些html,但由於此操作多次執行,因此我不想追加行爲得到重複的HTML。jQuery .after()與.html()相同的行爲

比方說,我有這樣的:

<div id="element"> 

而且每次執行動作我做$('#element').after(data)所以它會是這樣的時間:

<div id="element"> 
whatever data 

但是如果執行行動我還記得這個:

<div id="element"> 
whatever data 
other data appended 

我怎麼能達到.html(data)行爲?

我知道我可以做這個環繞'#element'的下一步,並使用$('#wrapper).html(data)但我實際上不能,因爲它與CSS混亂。

我該怎麼做?

回答

0

你可以給一個ID,附加股利和有條件的檢查,如果存在則追加在於:

var strToAppend = 'whatever data'; 
if($('#foo').length == 1){ 
    $('#foo').text(strToAppend); 
} else { 
    $('#element').after('<div id="foo">'+strToAppend+'</div>'); 
} 
相關問題