Я полагаю, что вы хотите очистить всех детей, а не только прямых детей, поэтому это должно быть рекурсивным. Поскольку разные элементы ввода очищаются по-разному, вы должны проверить их тип, чтобы вы знали, что с ними делать. Я полагаю, что вы также хотите очистить текстовые области, но оставьте кнопки без изменений:
function clearChildren(element) {
for (var i = 0; i < element.childNodes.length; i++) {
var e = element.childNodes[i];
if (e.tagName) switch (e.tagName.toLowerCase()) {
case 'input':
switch (e.type) {
case "radio":
case "checkbox": e.checked = false; break;
case "button":
case "submit":
case "image": break;
default: e.value = ''; break;
}
break;
case 'select': e.selectedIndex = 0; break;
case 'textarea': e.innerHTML = ''; break;
default: clearChildren(e);
}
}
}
Назовите его со ссылкой на элемент:
clearChildren(document.getElementById('IdOfTheDiv'));
Edit:
Забыли выбор ...
Редактировать 2:
Некоторые исправления: childNodes.length, обработка элементов без значений tagName и прописных значений tagName.