Удаление определённого количества элементов в родительском блоке
Добрый день!
У нас имеется родительский контейнер с определённым количеством блоков внутри. Каким образом, оставить первые 3 блока, а всё что после них, удалить полностью из DOM? Спасибо. Пример: Код:
<div id='container'> |
Цитата:
|
Цитата:
|
Пробовал такой вариант, но где-то ошибка:
var countBlocks = document.getElementById('container').children.length; if(countBlocks > 3) { var hide_blocks = document.getElementById('container').children; for(var i=2;i<countBlocks;i++) { hide_blocks[i].parentNode.removeChild(hide_blocks[i]); } } |
Цитата:
<script> var d = document; function del_blocks() { var main_block = d.getElementById("container"); var blocks = main_block.children; for (i=blocks.length - 1; i >= 0; i--) { if (i <= 2) break; main_block.removeChild(blocks[i]); } } </script> <div id='container'> <div class='blocks'>block_1</div> <div class='blocks'>block_2</div> <div class='blocks'>block_3</div> <div class='blocks'>block_4</div> <div class='blocks'>block_5</div> </div><input type="button" value="Delete" onClick="del_blocks()"> Цитата:
|
var d = document; function del_blocks() { var main_block = d.getElementById("container"); var blocks = main_block.children; for (i=blocks.length - 1; i >= 0; i--) { if (i <= 2) break; main_block.removeChild(blocks[i]); } } Большое человеческое спасибо! Вариант отличный.:) |
1lider, тут есть что поправить...как сказал ksa
var d = document; function del_blocks() { var main_block = d.getElementById("container"); var blocks = main_block.children; while (blocks[3]) { main_block.removeChild(blocks[3]); } } |
lord2kim. Благодарствую!:)
|
Цитата:
<div id='container'> <div class='blocks'>block_1</div> <div class='blocks'>block_2</div> <div class='blocks'>block_3</div> <div class='blocks'>block_4</div> <div class='blocks'>block_5</div> </div> <script type="text/javascript"> var op=document.getElementById('container'); var o=op.getElementsByTagName('div'); while (o[3]) { op.removeChild(o[3]); }; </script> |
lord2kim опередил... :)
|
Цитата:
|
ksa. Ваш вариант тоже хорош. Но вариант предложенный господином lord2kim, совершеннее в том плане, что он удаляет дочерние элементы первого уровня.:)
|
Цитата:
Я лишь хотел проиллюстрировать свою идею удаления... |
ksa. Всё равно спасибо. И на том.:)
|
Часовой пояс GMT +3, время: 08:29. |