Цитата($дмитрий @ 1.2.2012, 22:34 ) | | Тогда примерно так |
Тут следует учесть, что родительским элементом div`а не обязательно является body. Такой скрипт потенциально способен выбросить исключение при попытке удалить чужой дочерний элемент.
Поэтому тело цикла должно быть примерно таким:
| Код | d[i].parentNode.removeChild(d[i]);
|
Добавлено через 6 минут и 21 секунду Более того, ваш код потерпит неудачу для случая нескольких рядом стоящих div`ов. Это связано с тем, что метод getElementsByTagName возвращает «живую» коллекцию, которая меняется «на лету» при удалении одного из элементов коллекции, так что инкрементирующийся счетчик цикла пропустит некоторые элементы: Вот проверьте на такой конструкции:
| Код | <div id="f1"> <div> <div>
</div> <div> </div> </div> </div>
<div id="f2"> <div> <div>
</div> <div> </div> </div> </div>
|
Добавлено через 10 минут и 20 секунд Вот более стабильная реализация:
| Код | var d = document.body.getElementsByTagName('DIV'); while (d.length > 0) { d[0].parentNode.removeChild(d[0]); }
|
|