2011-11-24 10 views
25

Ho un controllo utente. Es:Come impostare outerHTML con jQuery

<div id="divItem"> 
some html 
</div> 

La richiesta ajax restituisce nuovo html di questo UC dal server. Es:

<div id="divItem"> 
    new html 
</div> 

voglio sostituire il vecchio HTML da parte del nuovo. Come potrei farlo. Grazie.

+1

Hai provato il [jQuery Docs] (http://api.jquery.com/replaceWith/)? –

risposta

36

Se si restituisce anche il divItem div

$("#divItem").replaceWith("NEW HTML"); 

mettere il nuovo HTML sul posto o sostituire l'innerHTML, dal momento che hanno ottenuto lo stesso contenitore:

$("#divItem").html($("NEW HTML").html()); 

Se non restituire il div divItem

Basta inserire il nuovo codice html:

$("#divItem").html("NEW HTML"); 
+0

La seconda opzione è una buona scelta – redroot

+2

Vedo cosa hai fatto lì con la modifica: P – Roman

+0

@roman Sì, perché se vedo la tua, la mia non è la migliore, e mi piace fornire una risposta corretta completa. Ma hai un +1. – Niels

0

Questo è inTERHTML perché è all'interno del div chiamato divItem. (?) Sembra inoltre che si desidera sostituire il testo esistente

Se il vostro nuovo html restituito è una variabile denominata risultati, si esegue questa operazione:

$('#divItem').html(results); 
1

dati Pubblica da chiamate AJAX in un elemento DOM può essere fatto usando .load().

$('#divItem').load('somePage.html'); 
11

Credo replaceWith è quello che si cerca.

$('#divItem').replaceWith(serverResponse); 
Problemi correlati