Як очистити вміст div за допомогою JavaScript? [зачинено]


152

Коли користувач натискає кнопку на моїй сторінці, вміст div повинен бути очищений. Як би я міг досягти цього?


Відповіді:


270

Просто Javascript (за запитом)

Додайте цю функцію десь на своїй сторінці (бажано в розділі <head>)

function clearBox(elementID)
{
    document.getElementById(elementID).innerHTML = "";
}

Потім додайте кнопку події клацання:

<button onclick="clearBox('cart_item')" />

У JQuery (для довідки)

Якщо ви віддаєте перевагу JQuery, ви можете:

$("#cart_item").html("");

50
альтернативний jQuery:$("#cart_item").empty();
Роб Аллен

Чи можете ви також використовувати .detach ()?
RyanP13

@Tom Gullen це спрацювало на мене, не передаючи ідентифікатор DIV у функцію, і з одинарними лапками навколо elementID у самій функції. Дякую за це!
DPSSpatial

3
@Tom Gullen: будь ласка, не враховуйте, що це не видаляє обробників подій, пов'язаних з вузлами всередині цього діла.
bhavya_w

Відповідь @Mic приблизно на 250 разів швидше. jsperf.com/innerhtml-vs-removechild
tleb

108

Ви також можете це зробити DOM:

var div = document.getElementById('cart_item');
while(div.firstChild){
    div.removeChild(div.firstChild);
}

1
Найвищий рівень! Те саме, що jQuery: $ ("# cart_item"). Empty (); діє на DOM, а не лише на зміст. Чудово!
Педро Феррейра

Це віддається перевазі над, innerHTML = ''і якщо так, чому?
Сукіма

1
це відчуває себе чистіше, ніж innerHTML = ''. Я особисто написав би додаткову пару рядків
dmo

1
@Sukima цей спосіб швидше, ніж кращий відповідь, тому якщо вам потрібна краща продуктивність, а не короткий код, це ваш вибір.
iiic

1
як один лайнерwhile(div.firstChild && div.removeChild(div.firstChild));
Рассел Ельфенбейн
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.