2014-11-23 21 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>'); 
} 
相关问题