Mam divę, <div id="masterdiv">
która ma kilka dzieci <div>
.
Przykład:
<div id="masterdiv">
<div id="childdiv1" />
<div id="childdiv2" />
<div id="childdiv3" />
</div>
Jak wyczyścić zawartość wszystkich dzieci <div>
w systemie głównym <div>
za pomocą jQuery?
javascript
jquery
html
dom-manipulation
Prasad
źródło
źródło
.empty()
. Jest to najbardziej wydajny sposób na zrobienie tegoOdpowiedzi:
źródło
.empty()
byłoby lepszą opcją, ponieważ nie wymaga analizy ciągów. Działa bezpośrednio na modelu obiektowym DOM.empty()
usuwa również całą zawartość generowaną za pomocą jQuery.empty()
Funkcja jQuery robi tylko to:czyści mistrza
div
.usuwa wszystkie dzieci
div
, ale pozostawia mistrza nietkniętego.źródło
Użyj składni selektora CSS jQuery, aby zaznaczyć wszystkie
div
elementy wewnątrz elementu o identyfikatorzemasterdiv
. Następnie zadzwoń,empty()
aby wyczyścić zawartość.Użycie
text('')
lubhtml('')
spowoduje parsowanie ciągów, co jest ogólnie złym pomysłem podczas pracy z DOM. W miarę możliwości należy wypróbować metody manipulacji DOM, które nie obejmują ciągów znaków obiektów DOM.źródło
jeśli potrzebujesz usunąć wszystkie elementy w elemencie, użyj tego kodu:
jeśli potrzebujesz usunąć wszystkie elementy, użyj tego kodu:
ref: https://learn.jquery.com/using-jquery-core/manipicing-elements/
źródło
Jeśli wszystkie divy w tym masterdivie muszą zostać wyczyszczone, to tak.
w przeciwnym razie musisz powtórzyć wszystkie elementy div #masterdiv i sprawdź, czy identyfikator zaczyna się od childdiv.
źródło
Lepszym sposobem jest:
źródło
źródło
lub
źródło
lub
Działa dobrze, aby usunąć zawartość wewnątrz div
źródło
Możesz użyć funkcji .empty (), aby usunąć wszystkie elementy potomne
Aby zobaczyć porównanie między jquery .empty (), .hide (), .remove () i .detach () postępuj tutaj http://www.voidtricks.com/jquery-empty-hide-remove-detach/
źródło
Kiedy dodajesz dane do div przez id za pomocą dowolnej usługi lub bazy danych, najpierw spróbuj to puste, w następujący sposób:
źródło
lub
źródło
Wiem, że jest to
jQuery
powiązane pytanie, ale wierzę, że ktoś może się tu dostać, oczekując czystegoJavascript
rozwiązania. Tak więc, jeśli próbujesz to zrobić za pomocąjs
, możesz użyćinnerHTML
właściwości i ustawić pusty ciąg znaków.źródło
wypróbuj je, jeśli to pomoże.
$('.div_parent .div_child').empty();
$('#div_parent #div_child').empty();
źródło