2014-11-23 2 views
0

특정 요소 뒤에 일부 html을 삽입하려고하지만이 동작이 여러 번 실행되기 때문에 추가 동작을 원하지 않습니다. 반복되는 HTML을 받고있다..html()과 동일한 동작을하는 jQuery .after()

의 내가이 있다고 가정 해 봅시다 :

<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

당신은 첨부 된 DIV에 ID를 부여하고 조건 확인 할 수는 있다는 점에서 추가 존재하는 경우 :

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