Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   СКРЫТИЕ ЭЛЕМЕНТОВ ТАБЛИЦЫ (https://javascript.ru/forum/events/31484-skrytie-ehlementov-tablicy.html)

Brook 09.09.2012 22:28

СКРЫТИЕ ЭЛЕМЕНТОВ ТАБЛИЦЫ
 
Доброго времени суток!
помогите пожалуйста у меня есть таблица:
<table>
<tr id="a00">
<td>1</td>
</tr>
<tr id="a01">
<td>2</td>
</tr>
<tr id="a02">
<td>3</td>
</tr>
<tr id="a03">
<td>4</td>
</tr>
<tr id="a04">
<td>5</td>
</tr>
</table>


- всего 5 строк у каждой свой id - как мне скрыть часть таблицы допустим со второй строки по последнюю или еще как нибудь..

Заранее, спасибо!:thanks:

cyber 09.09.2012 22:30

чем большем тем тем больше шансов на ответ - не правильная логика !

Brook 09.09.2012 22:32

Цитата:

Сообщение от cyber (Сообщение 203869)
чем большем тем тем больше шансов на ответ - не правильная логика !

Спасибо в следующий раз учту..

cyber 09.09.2012 22:51

а насчет вашей проблемы:
используйте класс, к примеру :
задайте класс 'hideTd' и потом скрывайте нужные елементы

Denizz 11.09.2012 01:10

var allCells = [];
	for (i=0;i<5;i++) {
		var elem = document.getElementById("a0"+i);
		allCells.push(elem);
		}
		
allCells[2].style.visibility = 'hidden';
allCells[3].style.visibility = 'hidden';

cyber 11.09.2012 09:30

Цитата:

Сообщение от Denizz (Сообщение 204062)
var allCells = [];
	for (i=0;i<5;i++) {
		var elem = document.getElementById("a0"+i);
		allCells.push(elem);
		}
		
allCells[2].style.visibility = 'hidden';
allCells[3].style.visibility = 'hidden';

подобный код обычно называется "говно код"....

bes 11.09.2012 10:15

добавить проверок
<style>
	td {
		border: solid 1px;
	}
</style>

<table>
	<tr id="a00">
		<td>11</td>
		<td>12</td>
	</tr>
	<tr id="a01">
		<td>21</td>
		<td>22</td>
	</tr>
	<tr id="a02">
		<td>31</td>
		<td>32</td>
	</tr>
	<tr id="a03">
		<td>41</td>
		<td>42</td>
	</tr>
	<tr id="a04">
		<td>51</td>
		<td>52</td>
	</tr>
</table>
<button>hide</button>
<button>show</button>

<script>
window.onload = function () {
	var elems = document.body.children;
	var rows = elems[0].rows;
	var len = rows.length;
	
	for (var i = 0; i < len; i++) {
		rows[i].style.display = 'block';
	}
	
	function sh(first, last, mode) {
		var l = last - first;
		if (l < len) {
			var disp;
			if (mode == 'hide') {
				disp = 'none';
			} else {
				disp = 'block';
			}
			for (var i = first; i <= l; i++) {
				if (rows[i].style.display != disp) {
					rows[i].style.display = disp;
				}
			}
		}
	}
	
	elems[1].onclick = function () {
		var first = prompt('first', 1);
		var last = prompt('last', 2);
		sh(first, last, 'hide');
	}
	elems[2].onclick = function () {
		var first = prompt('first', 1);
		var last = prompt('last', 2);
		sh(first, last, 'show');
	}
}
</script>

bes 11.09.2012 10:51

так получше будет
<style>
	td {
		border: solid 1px;
	}
</style>

<table>
	<tr id="a00">
		<td>11</td>
		<td>12</td>
	</tr>
	<tr id="a01">
		<td>21</td>
		<td>22</td>
	</tr>
	<tr id="a02">
		<td>31</td>
		<td>32</td>
	</tr>
	<tr id="a03">
		<td>41</td>
		<td>42</td>
	</tr>
	<tr id="a04">
		<td>51</td>
		<td>52</td>
	</tr>
</table>
<button>hide</button>
<button>show</button>

<script>
window.onload = function () {
	var elems = document.body.children;
	var rows = elems[0].rows;
	var len = rows.length;
	
	for (var i = 0; i < len; i++) {
		rows[i].style.display = 'block';
	}
	
	function sh(first, last, mode) {
		if (last < len) {
			if (last == first) {
				var l = last + 1;
			} else 
			if (last > first) {
				var l = last + 1;
			}
		} else {
			return;
		}
		
		var disp;
		(mode == 'hide') ? disp = 'none': disp = 'block';
		
		for (var i = first; i < l; i++) {
			if (rows[i].style.display != disp) {
				rows[i].style.display = disp;
			}
		}
	}
	
	elems[1].onclick = function () {
		var first = Number(prompt('first', 1));
		var last = Number(prompt('last', 2));
		sh(first, last, 'hide');
	}
	elems[2].onclick = function () {
		var first = Number(prompt('first', 1));
		var last = Number(prompt('last', 2));
		sh(first, last, 'show');
	}
}
</script>

Denizz 11.09.2012 16:00

Цитата:

подобный код обычно называется "говно код"....
Че так сразу грубо-то? Автор кстати досконально требований не пояснил :(

cyber 11.09.2012 16:57

Цитата:

Сообщение от Denizz (Сообщение 204117)
Че так сразу грубо-то? Автор кстати досконально требований не пояснил :(

я называю вещи своими именами, как я вижу автор не понимает толком что ему надо, а вы если знаете то не нужно предлагать таких без смысленных решений .
В данном случае нужно либо использовать class либо rows .


Часовой пояс GMT +3, время: 16:11.