Як очистити весь вміст <div> s всередині батьківського <div>?


219

У мене є дів, у <div id="masterdiv">якого є кілька дітей <div>.

Приклад:

<div id="masterdiv">
  <div id="childdiv1" />
  <div id="childdiv2" />
  <div id="childdiv3" />
</div>

Як очистити вміст усіх дітей, <div>що знаходяться всередині майстра, <div>використовуючи jQuery?


6
Я повторно позначив ваше запитання, оскільки воно не пов’язане з Asp.net MVC (як ви це помітили) будь-яким способом або формою.
Роберт Коритник

Подумайте про прийняття відповіді, яка використовує .empty(). Це найефективніший спосіб зробити це
Калонь Колоб

Відповіді:


270
jQuery('#masterdiv div').html('');

Чи можемо ми клонувати HTML і маніпулювати на цьому? як var tmp = $ ('<div>') .append ($ ('# masterdiv'). clone ()). remove (). html (); і заведіть діви в #masterdiv з tmp та очистіть вміст і поверніться
Prasad

118
Використання .empty()було б кращим варіантом, оскільки не бере участь синтаксичний аналіз. Він працює безпосередньо на об'єктній моделі DOM.
Дрю Ноакс

7
empty()також очищає весь вміст, що генерується за допомогою jQuery.
MikkoP

445

empty()Функція jQuery робить саме це:

$('#masterdiv').empty();

прибирає господар div.

$('#masterdiv div').empty();

очищає всі дитини div, але залишає господаря неушкодженим.


8
api.jquery.com/empty це правда, але я не знаю, чому відповідь Квентіна прийнято :)
Nuri YILMAZ

5
Це очищає більше, ніж про це було запропоновано в оригінальному запитанні - ви повинні використовувати більш конкретний селектор .
Дрю Ноакс

4
Нічого, дякую, Дрю, що вказав це на 1,5 року пізніше :) Виправлено.
Еміль Іванов

20

Використовуйте синтаксис CSQ селектора jQuery, щоб вибрати всі divелементи всередині елемента з ідентифікатором masterdiv. Потім зателефонуйте, empty()щоб очистити вміст.

$('#masterdiv div').empty();

Використання text('')або html('')призведе до розбору рядків рядків, що, як правило, є поганою ідеєю при роботі з DOM. Спробуйте використовувати методи маніпулювання DOM, які не передбачають, коли це можливо, рядкове представлення об'єктів DOM.


14

jQuery рекомендує використовувати ".empty ()", ". remove ()", ". detach ()"

якщо вам потрібно видалити весь елемент в елементі, використовуйте цей код:

$('#target_id').empty();

якщо вам потрібно видалити весь елемент, використовуйте цей код:

$('#target_id').remove();

i i jQuery group не рекомендують використовувати SET FUNCTION на зразок .html () .attr () .text (), що це? це ЯКЩО ВИ хочете встановити будь-що, що вам потрібно

посилання: https://learn.jquery.com/using-jquery-core/manipulating-elements/


12

Якщо всі диви всередині цього masterdiv потрібно очистити, це це.

$('#masterdiv div').html('');

інше, вам слід перебрати всіх дітей-членів #masterdiv і перевірити, чи починається ідентифікатор з childdiv.

$('#masterdiv div').each(
    function(element){
        if(element.attr('id').substr(0, 8) == "childdiv")
        {
            element.html('');
        }
    }
 );

11

Кращий спосіб:

 $( ".masterdiv" ).empty();

1
Це вибирає всі елементи з класом "masterdiv", а не id "masterdiv", а відповідно до питань - лише примітка.
Дейв




6

Ви можете використовувати .empty () функцію, щоб очистити всі дочірні елементи

 $(document).ready(function () {
  $("#button").click(function () {
   //only the content inside of the element will be deleted
   $("#masterdiv").empty();
  });
 });

Щоб побачити порівняння між jquery .empty (), .hide (), .remove () та .detach (), читайте тут http://www.voidtricks.com/jquery-empty-hide-remove-detach/


5

Коли ви додаєте дані в div за ідентифікатором за допомогою будь-якої служби чи бази даних, спершу спробуйте порожні, наприклад:

var json = jsonParse(data.d);
$('#divname').empty();


3

Я знаю, що це jQueryпов'язане питання, але я вважаю, що хтось може сюди потрапити, очікуючи чистого Javascriptрішення. Отже, якщо ви намагалися зробити це за допомогою js, ви можете використовувати innerHTMLвластивість і встановити його в порожній рядок.

document.getElementById('masterdiv').innerHTML = '';

1
це був найкращий результат в Google при пошуку способів спорожнення діва. Дякую!
Прихід

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.