Удаление определённого количества элементов в родительском блоке
Добрый день!
У нас имеется родительский контейнер с определённым количеством блоков внутри. Каким образом, оставить первые 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, время: 10:52. |