как узнать кол-во див-вов на странице ?.
Здравствуйте.
итак. ситуация такова. у меня есть на странице таблица.
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr valign="top">
<td width="180">
<table cellpadding="4" cellspacing="2" border="0" width="180">
<tr>
<td id="to_main" class="td_menu" onClick="java script:display_page('main')" onMouseOver="java script:change_fon_on('to_main')" onMouseOut="java script:change_fon_off('to_main')">
...
</td>
</tr>
<tr>
<td id="to_clinika" class="td_menu" onClick="java script:display_page('clinika')" onMouseOver="java script:change_fon_on('to_clinika')" onMouseOut="java script:change_fon_off('to_clinika')">
...
</td>
</tr>
<tr>
<td id="to_statistika" class="td_menu" onClick="java script:display_page('statistika')" onMouseOver="java script:change_fon_on('to_statistika')" onMouseOut="java script:change_fon_off('to_statistika')">
...
</td>
</tr>
<tr>
<td id="to_protokols" class="td_menu" onClick="java script:display_page('protokols')" onMouseOver="java script:change_fon_on('to_protokols')" onMouseOut="java script:change_fon_off('to_protokols')">
...
</td>
</tr>
<tr>
<td id="to_lab" class="td_menu" onClick="java script:display_page('laboratory')" onMouseOver="java script:change_fon_on('to_lab')" onMouseOut="java script:change_fon_off('to_lab')">
...
</td>
</tr>
<tr>
<td id="to_kadri" class="td_menu" onClick="java script:display_page('otdel_kadrov')" onMouseOver="java script:change_fon_on('to_kadri')" onMouseOut="java script:change_fon_off('to_kadri')">
...
</td>
</tr>
<tr>
<td id="to_other" class="td_menu" onClick="java script:display_page('other')" onMouseOver="java script:change_fon_on('to_other')" onMouseOut="java script:change_fon_off('to_other')">
...
</td>
</tr>
</table>
</td>
<td>
<div id="main" style="display: visible;">
</div>
<div id="clinika" style="display: none;">
...
</div>
<div id="statistika" style="display: none;">
...
</div>
<div id="protokols" style="display: none;">
...
</div>
<div id="laboratory" style="display: none;">
...
</div>
<div id="otdel_kadrov" style="display: none;">
</div>
<div id="other" style="display: none;">
...
</div>
</td>
</tr>
</table>
как видно по коду. есть менюшка и есть правая ячейка, в которой див-ы. при нажатии на пункт меню хочу чтобы соотв див становился видным, а остальные, соответственно - невидимыми. когда у меня было два таких див-а, то все было банально просто. но сейчас их аж 7 штук. и писать 7 проверок - не прельщает. так вот у меня такой вопрос: может существует какой-то массив этих див-ов, чтобы омжно было в цикле пробежацца и ненужные выключить, а ныжный включить или есть некая функция создания массива этих див-ов ?. вот начало функции, которая будет включать выбранный див:
function display_page(need_div)
{
document.getElementById(need_div).style.display = '';
}
Спасибо... |
getElementsByTagName
|
var div_array = getElementsByTagName('DIV');
var div_count = div_array.length;
alert(div_count);
ошибка: Предполагается наличие объекта |
Задайте основной таблице id например "table", тогда определение кол-ва div'ов будет выглядеть так:
var div = document.getElementById("table").getElementsByTagName('div');
alert(div.length);
|
спасибо. действительно работает.. но счас вопрос в другом слегка возник. итак. вот кусок таблицы с дивами:
<table id="table_main" cellpadding="0" cellspacing="0" border="0" width="100%">
<tr valign="top">
<td width="180">
<table cellpadding="4" cellspacing="2" border="0" width="180">
<tr>
<td id="to_main" class="td_menu" onClick="javascript:display_page('1')" onMouseOver="javascript:change_fon_on('to_main')" onMouseOut="javascript:change_fon_off('to_main')">
...
</td>
</tr>
<tr>
<td id="to_clinika" class="td_menu" onClick="javascript:display_page('2')" onMouseOver="javascript:change_fon_on('to_clinika')" onMouseOut="javascript:change_fon_off('to_clinika')">
...
</td>
</tr>
вот кусок кода, который делает див- видиым-невидимым:
function display_page(need_div)
{
var div_array = document.getElementById("table_main").getElementsByTagName('div');
for (i = 1; i <= div_array.length; i++)
{
if (i == need_div)
{
document.getElementById(i).style.display = '';
}
else
{
document.getElementById(i).style.display = 'none';
}
}
выдает ошибку, что мол Требуется наличие объекта. Я так понимаю, что ругается на тип переменной "i". а как бы сделать чтобы все ладили друг с другом ?. ) спасибо. |
function display_page(need_div)
{
var div_array = document.getElementById("table_main").getElementsByTagName('div');
for (i = 0; i < div_array.length; i++)
{
if (div_array[i] == need_div)
{
div_array[i].style.display = '';
}
else
{
div_array[i].style.display = 'none';
}
}
|
точна. это же массив и мона обратицца к элементы массива. тупанул я ))
пасиб )) |
| Часовой пояс GMT +3, время: 11:43. |