Скрыть\показать div в ряде таблицы
В JS я чайник, по этому, буду предельно краток:
Есть документик: <style> #menus_s {bg-color:333#} </style> <script> window.onload=function(){tableruler();} </script> <table id="menus" width="200"> <tr> <td width="20">Текст1</td> <td width="20"><div style="display:none">Картики1</div></td> </tr> <tr> <td width="20">Текст2</td> <td width="20"><div style="display:none">Картики2</div></td> </tr> </table> Есть скриптик подключенный к этому документу (нарыл в нэте): function tableruler() { if (document.getElementById && document.createTextNode) { var tables=document.getElementsByTagName('table'); for (var i=0;i<tables.length;i++) { if(tables[i].id=='menus') { var trs=tables[i].getElementsByTagName('tr'); for(var j=0;j<trs.length;j++) { if(trs[j].parentNode.nodeName=='TBODY' && trs[j].parentNode.nodeName!='TFOOT') { trs[j].onmouseover=function() { //this.getElementsByTagName('div').style.display="block"; this.id='menus_s'; return false; } trs[j].onmouseout=function() { //this.getElementsByTagName('div').style.display="none"; this.id=''; return false; } } } } } } } Суть: данный скрипт подсвечивает ряд в таблице при наведении на него курсором цветом #333 (через класс: менюс_с), а когда курсор убирают, подсветка пропадает. Это всё успешно работает! Появилась задумка: сделать так, чтобы при наведении курсора на ряд - в этом ряду включалась бы не только подсветка, но и появлялись картинки, которые находятся в скрытом диве этого ряда. :write: Мои попытки это реализовать находятся в JS скрипте под косыми чертами...ессесно как только косые убрать, всё не работает. помогите пожалуйста, и сильно не бейте :haha: Зарание спасибо :thanks: |
Оказалось элементарно:
this.getElementsByTagName('div')[0].style.display="block"; и this.getElementsByTagName('div')[0].style.display="none"; Но теперь есть следующая проблема: Если вдруг в в этом ряде нету дива вылетет ошибка JS. Как прописать: если див есть (выполнить this.getElementsByTagName('div')[0].style.display="block"; ) если нету, то ничего не делать...? :-? |
Решение:
if (this.getElementsByTagName('div')[0]) { this.getElementsByTagName('div')[0].style.display="none"; } Спасибо мне!:) Тема закрыта! |
Часовой пояс GMT +3, время: 00:27. |