как узнать кол-во див-вов на странице ?.
Здравствуйте.
итак. ситуация такова. у меня есть на странице таблица. <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, время: 08:03. |