Применить действие ко всем элементам elementX
На странице по клику открываются некоторые блоки, нужно сделать так, чтобы по нажатию в пустом месте страницы все эти блоки закрывались (style="dispaly:none"), без использования jQuery или других библиотек.
Все элементы имеют название elementX, где X - произвольное число. Методом перебора, типа for() конечно прокатит, но поскольку число X может быть и 1 и 999999999 перебирать придётся долго да и при каждом клике это излишне. Нужно ресурсоёмкое решение без использования библиотек. Подскажите, как бы вы сделали? |
Цитата:
Цитата:
Цитата:
|
Ссори, пусть будет не название а конкретно ID.
Это элементы с которыми можно работать из БД у каждого свой ID, вот потому и разные. Сейчас напишу пример. |
Пример:
<body> <div id="msg776"> Сообщение №776 <div onclick="info776.style='display:block;'">Показать информацию</div> <div style="display:none;" id="info776">info</div> </div> <div id="msg325"> Сообщение №325 <div onclick="info325.style='display:block;'">Показать информацию</div> <div style="display:none;" id="info325">info</div> </div> <div id="msg767"> Сообщение №767 <div onclick="info767.style='display:block;'">Показать информацию</div> <div style="display:none;" id="info767">info</div> </div> </body> |
Цитата:
Цитата:
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
window.onload=function () {
var o=document.getElementsByTagName('body')[0].childNodes;
for (var i=0; i<o.length; i++) {
if (o[i].tagName=='DIV') {
o[i].style.display='none';
};
};
};
</script>
</head>
<body>
<div id="msg776">
Сообщение №776
<div onclick="info776.style='display:block;'">Показать информацию</div>
<div style="display:none;" id="info776">info</div>
</div>
<div id="msg325">
Сообщение №325
<div onclick="info325.style='display:block;'">Показать информацию</div>
<div style="display:none;" id="info325">info</div>
</div>
<div id="msg767">
Сообщение №767
<div onclick="info767.style='display:block;'">Показать информацию</div>
<div style="display:none;" id="info767">info</div>
</div>
</body>
</html>
|
С "модификацией" контента...
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
window.onload=function () {
document.getElementById('container').style.display='none';;
};
</script>
</head>
<body>
<body>
<div id="container">
<div id="msg776">
Сообщение №776
<div onclick="info776.style='display:block;'">Показать информацию</div>
<div style="display:none;" id="info776">info</div>
</div>
<div id="msg325">
Сообщение №325
<div onclick="info325.style='display:block;'">Показать информацию</div>
<div style="display:none;" id="info325">info</div>
</div>
<div id="msg767">
Сообщение №767
<div onclick="info767.style='display:block;'">Показать информацию</div>
<div style="display:none;" id="info767">info</div>
</div>
</div>
</body>
</body>
</html>
|
| Часовой пояс GMT +3, время: 10:03. |