Т.е. если код изменить так:
<script> function show(id){ var div = document.getElementById('sh'), elems = div.getElementsByTagName('*'); for(var i=0; i<elems.length; i++) if(elems[i].id) document.getElementById(elems[i].id).style.display = elems[i].id != id ? "none" : "block"; else elems[i].style.display = "none"; } </script> </head> <body> <a href="javascript:void(0)" onClick="show('e1')" >1</a> <a href="javascript:void(0)" onClick="show('e2')">2</a> <a href="javascript:void(0)" onClick="show('e3')">3</a> <div id="sh"> <div style="display: none" id="e1"> <table > <tr> <td>1</td> </tr> </table> </div> <div style="display: none" id="e2">2</div> <div style="display: none" id="e3">3</div> </div> </body> таблица не покажется. Где копать что то не пойму( |
Тогда вот так можно:
<script> function show(id){ var div = document.getElementById('sh'), elems = div.getElementsByTagName('div'); for(var i=0; i<elems.length; i++) if(elems[i].id) document.getElementById(elems[i].id).style.display = elems[i].id != id ? "none" : "block"; else elems[i].style.display = "none"; } </script> </head> <body> <a href="javascript:void(0)" onClick="show('e1')" >1</a> <a href="javascript:void(0)" onClick="show('e2')">2</a> <a href="javascript:void(0)" onClick="show('e3')">3</a> <div id="sh"> <div style="display: none" id="e1"> <table > <tr> <td>1</td> </tr> </table> </div> <div style="display: none" id="e2">2</div> <div style="display: none" id="e3">3</div> </div> </body> |
Vulkan, думаю что с условием ты перемудрил малость...
<script> function show(id){ var div = document.getElementById('sh'), elems = div.getElementsByTagName('div'); for(var i=0; i<elems.length; i++) elems[i].style.display=(elems[i].id==id)? "block": "none"; } </script> </head> <body> <a href="javascript:void(0)" onClick="show('e1')" >1</a> <a href="javascript:void(0)" onClick="show('e2')">2</a> <a href="javascript:void(0)" onClick="show('e3')">3</a> <div id="sh"> <div style="display: none" id="e1"> <table > <tr> <td>1</td> </tr> </table> </div> <div style="display: none" id="e2">2</div> <div style="display: none" id="e3">3</div> </div> </body> |
ksa, точно, забыл убрать условие)
|
а так ещё короче)
<script> function show(id){ var elems = document.getElementById('sh').getElementsByTagName('div'); for(var i in elems) elems[i].style.display=(elems[i].id==id)? "block": "none"; } </script> </head> <body> <a href="javascript:void(0)" onClick="show('e1')" >1</a> <a href="javascript:void(0)" onClick="show('e2')">2</a> <a href="javascript:void(0)" onClick="show('e3')">3</a> <div id="sh"> <div style="display: none" id="e1"> <table > <tr> <td>1</td> </tr> </table> </div> <div style="display: none" id="e2">2</div> <div style="display: none" id="e3">3</div> </div> </body> |
Всем большое спасибо. Все работает как надо.
|
Часовой пояс GMT +3, время: 21:23. |