Открыть/закрыть для всех блоков с одинаковым ID
Как сделать так, чтобы этот код заработал на всех ID?
#storyimg{display: none;}
<a class="yr" onclick="document.getElementById('storyimg').style.display=document.getElementById('storyimg').style.display=='block'?'none':'block';return(false)">Показать картинки</a>
<div id="storyimg">
<img src="...">
</div>
<div id="storyimg">
<img src="...">
</div>
<div id="storyimg">
<img src="...">
</div>
Суть такая, на сайте есть статья с картинками, но иногда картинки просто мешают, хочется один текст. Для этого и использовал код выше. Он изначально скрывает картинку, которая находятся в div'е с id storyimg. А мне нужно чтобы он скрывал все имеющиеся дивы с id storyimg. |
дивов с id не может быть больше одного на странице, вместо id используй class
|
Цитата:
.storyimg{display: none;}
<a class="yr" onclick="document.getElementById('.storyimg').style.display=document.getElementById('.storyimg').style.display=='block'?'none':'block';return(false)">Показать картинки</a>
<div class="storyimg">
<img src="...">
</div>
<div class="storyimg">
<img src="...">
</div>
<div class="storyimg">
<img src="...">
</div>
Подозреваю, что getElementById надо заменить на что-то другое? |
именно, на getelementsbyclassname
|
Цитата:
изменял на getElementsByClassName, так пробовал как ".storyimg", так "storyimg" |
FaustL,
циклом по всему массиву getElementsByClassName |
Цитата:
.storyimg{display: none;}
<a class="yr" onclick="document.getElementsByClassName('.storyimg').style.display=document.getElementsByClassName('.storyimg').style.display=='block'?'none':'block';return(false)">Показать картинки</a>
<div class="storyimg">
<img src="...">
</div>
<div class="storyimg">
<img src="...">
</div>
<div class="storyimg">
<img src="...">
</div>
Где неправильно подскажите пожалуйста |
FaustL,
создайте функцию и обработайте массив - нет у массива style |
Цитата:
|
FaustL,
:(
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.storyimg{display: none;}
</style>
<script>
var show;
function toggle(cls)
{
show = !show
var divs = document.getElementsByClassName(cls);
for (var i=0; i<divs.length; i++) {divs[i].style.display= show ? 'block':'none'}
}
</script>
</head>
<body>
<a class="yr" onclick="toggle('storyimg');return(false)">Показать картинки</a>
<div class="storyimg">
<img src="...">
</div>
<div class="storyimg">
<img src="...">
</div>
<div class="storyimg">
<img src="...">
</div>
</body>
</html>
|
| Часовой пояс GMT +3, время: 09:17. |