2011-11-24 13 views
25

Mam UserControl. Np .:Jak ustawić outerHTML z jQuery

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

Żądanie ajax zwraca nowy html tego UC z serwera. Przykład:

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

Chcę zastąpić stary kod HTML nowym. Jak mogłem to zrobić. Dzięki.

+1

Czy próbowałeś [jQuery Docs] (http://api.jquery.com/replaceWith/)? –

Odpowiedz

36

Jeśli również zwrócić divItem div

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

umieścić nowy kod HTML na miejscu lub zastąpić innerHTML, ponieważ mam ten sam kontener:

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

Jeśli nie return div divItem

Po prostu wstaw nowy kod:

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

Druga opcja to dobry wybór. – redroot

+2

Widzę, co tam zrobiłeś z tą edycją: P – Roman

+0

@roman Tak, ponieważ jeśli widzę twoją, mój nie jest najlepszy, a ja lubię udzielać kompletnej poprawnej odpowiedzi. Ale masz +1. – Niels

0

To jest innterHTML, ponieważ znajduje się wewnątrz elementu div o nazwie divItem. (?) Wygląda również jak chcesz zastąpić istniejący tekst

Jeśli zwrócony nowy html jest w zmiennej o nazwie wyników, to zrobić:

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

Umieszczanie danych z AJAX wzywa do elementu DOM można zrobić przy użyciu .load().

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

Chyba replaceWith jest to, czego szukać.

$('#divItem').replaceWith(serverResponse); 
Powiązane problemy